Guten Morgen!
aber dieser Link
führt bei mir ins Leere
Sorry
Der sollte gehn:
/t/vba-excel-zellen-inhalt-in-ein-neues-sheet-kopier…
Wenn der Zellbereich „löchrig“ ist und Performance keine Rolle
spielt, kann ja eine For-Schleife durchlaufen bis zu letzten
Zeile, alles aufsammeln und im anderen Tabellenblatt
Leerzellen-frei ausgeben.Ich habs grad mit Gültigkeit-Liste ausprobiert, aber Excel
listet mir auch alle Leerzeilen auf, so dass man sich die
Finger wund scrollt, bis man am richtigen Eintrag angekommen
ist. Das ist es irgendwie auch nicht…Der „range“-Befehl müsste sich irgendwie auf keine bestimmte
Zelle beziehen, sondern auf die gerade markierte. Oder die
gefüllten Zellen werden anders zusammengefasst, so dass die
Gültigkeit-Liste ohne Leerzeilen erscheint.
Mit Gültigkeitslisten hab ich leider keine Efahrung… Aber ich löse sowas i.d.R. mit While und Cells. Ich habe sowas ähnliches in dem obigen Thread (Link) gepostet; es sind aber auch andere Lösungen zu finden.
Statt bis zur letzten Excel-Zelle zu laufen kannst du vll auch einen „maximalen Leerbereich“ festlegen. Also bspw. behaupten, mehr als 10 Leerzellen gibt es nicht, also ist danach die letzte Wert-Zelle erreicht. Spart sich Excel zumindest bisschen Rechenarbeit; aber kommt eben drauf an, ob sich so ein max. Bereich definieren lässt…
Wenn ja, dann vll so:
Sub test()
maxL = 10
cl = 0
j = 1
i = 1
While cl „“ Then
Worksheets(„Tabelle2“).Cells(j, 1) = a
cl = 0
j = j + 1
End If
a = Worksheets(„Tabelle1“).Cells(i, 1)
If a = „“ Then cl = cl + 1
i = i + 1
Wend
End Sub
Gruß, Leebo