Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
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
Leere Zelle finden
10.03.2020 09:05:43
Christian
Hallo zusammen,
ich rätsle jetzt schon was länger. Ich möchte Daten von einer Liste in einer andere kopieren. Die Auswahl der relevanten Daten klappt auch. Das Kopieren in das neue Blatt macht mir Sorgen. Dort lösche ich nämlich bestimmte Daten nach gewissen Kriterien wieder.
Das sorgt in Summe dafür, dass ich in der Spalte A in dem Blatt, in das ich hinein kopiere, "Lücken" habe, die ich wieder mit den neuen Daten aus dem anderen Blatt füllen möchte. Und das in einer Schleife. Sprich, es kann sein, dass die Zelle A2 gefüllt ist, dann wieder A4 etc. Ich kenne die Funktion:
Cells(Rows.Count, 2).End(xlUp).Row + 1
Die sorgt aber grundsätzlich dafür, dass immer einfach unten an die letzte Zeile die neuen Werte angehängt werden. Da wird mir dann die Liste zu lang :) Hat jemand einen Code dafür? Lieben Dank.

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Zelle finden
10.03.2020 09:39:18
MCO
Hallo Christian!
Wenn du die nächste Leere Zelle suchst, dann mach das doch mit der gleichen Funktion:
Cells(1, 2).End(xldown).Row + 1
Gruß, MCO
AW: Leere Zelle finden
10.03.2020 10:13:33
Christian
Hmm ... da kriege ich einen Syntaxfehler ...
Hier mal mein Code, mit dem immer nur hinten angehängt wird:
Abgleich.Activate
For Z1 = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(Z1, 1) = "X" Then
Cells(Z1, 2).Copy
Kommentierung.Activate
Z2 = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(Z2, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Abgleich.Activate
End If
Next Z1
Anzeige
AW: Leere Zelle finden
10.03.2020 10:37:27
Torsten
Hallo Christian,
hab mal den Code etwas aufgeraeumt. Versuchs mal so:

With Abgleich
For Z1 = .Cells(65536, 1).End(xlUp).Row To 1 Step -1
If .Cells(Z1, 1) = "X" Then
.Cells(Z1, 2).Copy
End If
With Kommentierung
Z2 = Cells(1, 1).End(xlDown).Row + 1
.Cells(Z2, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End With
Application.CutCopyMode = False
Next Z1
.Activate
End With

Gruss Torsten
AW: Leere Zelle finden
10.03.2020 10:38:48
Torsten
Sorry, einen Punkt vergessen:

With Abgleich
For Z1 = .Cells(65536, 1).End(xlUp).Row To 1 Step -1
If .Cells(Z1, 1) = "X" Then
.Cells(Z1, 2).Copy
End If
With Kommentierung
Z2 = .Cells(1, 1).End(xlDown).Row + 1
.Cells(Z2, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End With
Application.CutCopyMode = False
Next Z1
.Activate
End With

Anzeige
AW: Leere Zelle finden
10.03.2020 12:59:02
Christian
Hallo Torsten,
lieben Dank. Jedoch bekomme ich den Laufzeitfehler 1004, dass das PasteSpecial des Range Objektes nicht ausgeführt werden konnte.
AW: Leere Zelle finden
10.03.2020 14:11:44
Torsten
Hallo Christian,
klar, habs nicht ausprobiert. Das Paste muss natuerlich mit in die If Abfrage. Sonst versucht er immer etwas einzufuegen, wo es nichts einzufuegen gibt, wenn kein X.
So besser:

Dim Z1 As Integer, Z2 As Integer
With Abgleich
For Z1 = .Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If .Cells(Z1, 1) = "X" Then
.Cells(Z1, 2).Copy
Z2 = Kommentierung.Cells(1, 1).End(xlDown).Row + 1
Kommentierung.Cells(Z2, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  _
SkipBlanks:=False, Transpose:=False
End If
Application.CutCopyMode = False
Next Z1
.Activate
End With

Gruss Torsten
Anzeige
AW: Leere Zelle finden
10.03.2020 15:13:25
Christian
Hmm ... jetzt meldet mir Excel einen "Überlauf" ;)
AW: Leere Zelle finden
11.03.2020 07:18:45
Torsten
Bei mir nicht, habs bei mir versucht.
AW: Leere Zelle finden
11.03.2020 07:18:50
Torsten
Bei mir nicht, habs bei mir versucht.
AW: Leere Zelle finden
11.03.2020 08:25:33
Christian
Kien Plan. Ich wollte es jetzt anders versuchen und die leeren Zellen einfach nach oben verschieben. Den Code mag er aber auch nicht:
Kommentierung.Activate
For Z4 = Cells(500, 1).End(xlUp).Row To 1 Step -1
If Cells(Z4, 1) = "" Then
range(Cells(Z4, 1), Cells(Z4, 2)).Selection.Insert Shift:=xlUp
End If
Next Z4
Laufzeitfehler 438
Hast du eine Idee?
AW: Leere Zelle finden
11.03.2020 08:25:37
Christian
Kien Plan. Ich wollte es jetzt anders versuchen und die leeren Zellen einfach nach oben verschieben. Den Code mag er aber auch nicht:
Kommentierung.Activate
For Z4 = Cells(500, 1).End(xlUp).Row To 1 Step -1
If Cells(Z4, 1) = "" Then
range(Cells(Z4, 1), Cells(Z4, 2)).Selection.Insert Shift:=xlUp
End If
Next Z4
Laufzeitfehler 438
Hast du eine Idee?
Anzeige
AW: Leere Zelle finden
11.03.2020 08:25:38
Christian
Kien Plan. Ich wollte es jetzt anders versuchen und die leeren Zellen einfach nach oben verschieben. Den Code mag er aber auch nicht:
Kommentierung.Activate
For Z4 = Cells(500, 1).End(xlUp).Row To 1 Step -1
If Cells(Z4, 1) = "" Then
range(Cells(Z4, 1), Cells(Z4, 2)).Selection.Insert Shift:=xlUp
End If
Next Z4
Laufzeitfehler 438
Hast du eine Idee?
AW: Leere Zelle finden
11.03.2020 08:25:43
Christian
Kien Plan. Ich wollte es jetzt anders versuchen und die leeren Zellen einfach nach oben verschieben. Den Code mag er aber auch nicht:
Kommentierung.Activate
For Z4 = Cells(500, 1).End(xlUp).Row To 1 Step -1
If Cells(Z4, 1) = "" Then
range(Cells(Z4, 1), Cells(Z4, 2)).Selection.Insert Shift:=xlUp
End If
Next Z4
Laufzeitfehler 438
Hast du eine Idee?
Anzeige
AW: Leere Zelle finden
11.03.2020 11:11:31
guennih
Verstehe nicht, dass Ihr immer noch an der End-Methode rummacht.
Gut, meine Schleife war nicht richtig geschrieben, wurde eh nicht probiert.
Aber End verhält sich unterschiedlich, je nachdem, ob die angrenzende Zelle Inhalt hat, oder nicht.
Das kann man bei der geschilderten Anforderung einfach nicht brauchen!!!
ich bleibe bei

dim Ziel as range
set Ziel = sheets("Zielsheet").cells(1,1)
' hier Schleife zum Abarbeiten der Quelldaten beginnen
while Ziel ""
set Ziel=Ziel.offset(1,0)
wend
Quelldaten.copy Ziel
' next Quellzeile

AW: Leere Zelle finden
10.03.2020 09:42:59
guennih

while selection ""
selection=selection.offset(1,0)
wend

bringt dich in die nächste freie Zeile
Anzeige
AW: Zeilen mit leerer Zelle löschen
11.03.2020 21:32:28
GerdL
Moin Christian!
ungetestet:
With Tabelle1.Columns("A")
If Worksheetfunction.CountBlank(.Cells) > 0 Then
.SpecialCells(xlCelltypeBlanks).EntireRow.Delete
End If
End With
Gruß Gerd

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige