Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
248to252
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

makroverbesserung

makroverbesserung
29.04.2003 21:52:44
remo
Ich sollte mein anliegen wohl besser formulieren.
also ich habe eine Tabelle1. Aus dieser Tabelle 1 kopiere ich via makro den auschnitt von H3 bis P6 in dijenige tabelle
welche ich in tabelle 1 in der zelle a3 angegeben habe.

ist in einer zelle die ich kopieren möchte eine formel und kein text wird die zelle in der tabelle in welche die kopie kommt nicht leer.
nun möchte ich in dieser Tabelle zusätzlich mit der anweisung

For Each cell In ActiveSheet.UsedRange
If cell.Value = "" And Len(cell) = 0 Then cell.ClearContents
Next

die zellen leeren
leider funktioniert dies nicht
ich hoffe jemand kann mir helfen.
hier das ganze Makro.

Sub kopieren3()
'
' kopieren3 Makro
' Makro am 08.04.2003 von Remo Wyss aufgezeichnet
'

'
Range("H3").Select
Application.CutCopyMode = False
Selection.Copy
Range("A3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A4").Select

Dim rg As Range
Dim Ziel As Range
x = Range("A3")
Set rg = Sheets("K" & x).Range("A65536").End(xlUp).Offset(1, 0)
Set Ziel = Range(rg, rg.Offset(3, 8))

Range("H3:P6").Copy

For Each cell In ActiveSheet.UsedRange
If cell.Value = "" And Len(cell) = 0 Then cell.ClearContents
Next


Ziel.PasteSpecial xlPasteValues

Range("B11:E11").Select
ActiveCell.FormulaR1C1 = ""
Range("B12:E12").Select
ActiveCell.FormulaR1C1 = ""
Range("B13:E13").Select
ActiveCell.FormulaR1C1 = ""
Range("B14:E14").Select
ActiveCell.FormulaR1C1 = ""
Range("C16").Select
ActiveCell.FormulaR1C1 = ""
Range("C18").Select
ActiveCell.FormulaR1C1 = ""
Range("C19").Select
ActiveCell.FormulaR1C1 = ""
Range("C2").Select
End Sub


9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: makroverbesserung
29.04.2003 22:12:03
Ramses

Hallo,

Da die Anweisung "cell" bei dir offensichtlich keine Variable ist, schon dann sollte es so heissen:

If Len(Trim(activecell.Value)) = 0 Then activecell.ClearContents

Das hatte ich eigentlich auch so geschrieben,.. oder ;-)

Aber ich frage mich, wass du löschen willst, wenn die Zellen sowieso leer sind ?

Gruss Rainer


Re: makroverbesserung
29.04.2003 22:21:13
remo

Ich Danke dir ich werds versuchen
nach dem Kopieren steht in der Zelle ein Leerstring der Länge Null. Die Zelle ist also nicht leer, auch wenn Du nichts "siehst".

Ich wünsch dir morgen einen schönen tag
remo

Anzeige
Re: makroverbesserung
29.04.2003 22:27:04
Ramses

Hallo Remo,

wenn der String die Länge 0 hat, dann ist sie definitiv leer und dann gibts auch nix mehr zu sehen ;-))

Gruss Rainer

Re: makroverbesserung
29.04.2003 22:35:03
remo

leider funktioniert dies noch nicht
aber ich danke dir dennoch herzlicht
bye bye remo

LÄNGE Null und dennoch nicht leer...
29.04.2003 23:26:57
Boris

Hi Rainer,

gib mal in A1 ein Hochkomma ein (das Ding auf der #-Taste).
Schreib in B1: =LÄNGE(A1)
und in C1 =ISTLEER(A1).....;-))

Gruß Boris

Re: LÄNGE Null und dennoch nicht leer...
29.04.2003 23:39:05
Ramses

Hallo Boris,

das stimmt schon, das ist schon ein Krux mit dem Ding.
Du kannst es ja auch nicht ersetzen, oder neudeutsch "replacen".

Aber das Zeichen ist zumindest sichtbar wenn die zelle angewählt wird, und dann ist die Zelle ja nicht mehr ganz leer ;-))

Gruss Rainer


Anzeige
Cant´t replace - can´t explain...
29.04.2003 23:44:59
Boris

Hi Rainer,

o.k., in der Bearbeitungsleiste sieht man das Ding - aber man muss erstmal auf die entsprechende Zelle klicken - bzw. sie finden...

Erklären kann ich es aber auch nicht;-)

Grüße Boris

Re: makroverbesserung
30.04.2003 00:31:44
harald

Hallo,

soweit ich Dich verstanden habe, sollen "scheingefüllte" Zellen gelöscht werden, d.h Zellen, die keine Werte enthalten, aber denoch im Sinne der ISTLEER-Funktion gefüllt sind (wenn z.B Leerstrings ("") aus Formeln über Werte einfügen kopiert werden).
Das Makrolöst dieses Problem.

MfG harald




Anzeige
Im alten Thread beantwortet
30.04.2003 10:14:58
Martin Beck

Hallo Remo,

habe den alten Thread zuerst gelesen, Antwort unter

https://www.herber.de/forum/messages/250946.html

@Rainer und Boris,

Das Problem "Leer" vs. "Leerstring" (mit der Länge Null) habe Nike und ich vor kurzem hier näher diskutiert, ich finde aber leider die Quelle nicht mehr. Es hat auch Auswirkungen auf Vergleiche in WENN-Funktionen bzw. IF-Abfragen in VBA. ISTLEER liefert ein anderes Ergebnis als ="". Das gleiche gilt in VBA für IsEmpty und ="".

Gruß
Martin Beck

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige