VBA - vorletzte Zeile finden
Halli Hallo!
Vielleicht kann mir jemand helfen.
Ich habe einen Datenbereich der zum Teil Leerzeilen enthält.
Nunmehr möchte ich gerne die vorletzte ausgefüllte Zeile in z. B. der Spalte H finden.
Hat jemand eine Idee wie ich das bewerkstelligen kann?
Ciao
Tom
Antwort schreiben
Antwort 1 von Saarbauer vom 02.07.2021, 11:01 Options
hallo,
versuch es mal damit
vorletzteZeile = Range("A65536").End(xlUp).Row-1
Gruß
Helmut
Antwort 2 von coros vom 02.07.2021, 11:01 Options
Hallo Tom,
mit der Befehlszeile
Range("H65536").End(xlUp).Row -1
findest Du die vorletzte ausgefüllt Zelle Spalte H.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 3 von Saarbauer vom 02.07.2021, 11:05 Options
Hallo,
natürlich muss es
Range("H65536").End(xlUp).Row
heissen
Gruß
Helmut
Antwort 4 von rainberg vom 02.07.2021, 11:19 Options
Hallo @all.
Range("H65536").End(xlUp).Row -1
... wollte ich auch gerade posten, aber dieser Befehl gibt immer
die vorletzte Zeilennummer zurück, auch wenn die Zelle leer ist.
In VBA ist da wahrscheinlich ohne Schleife nichts zu machen.
Alternativ eine Matrixformel
=KKLEINSTE(WENN(H1:H100<>"";ZEILE(1:100));ANZAHL2(H:H)-
1)
Die Bezüge müssten angepasst werden.
Gruß
Rainer
Antwort 5 von Saarbauer vom 02.07.2021, 12:02 OptionsLösung
Hallo,
eine weitere Lösung
vorletzteZeile = Range("H" & Range("H65536").End(xlUp).Row - 1).End(xlUp).Row
Gruß
Helmut
Antwort 6 von nighty vom 02.07.2021, 13:30 Options
hi all ^^
fuer unsere begeisterten vb user erstmal das
statt
65536
sollte korrigiert werde zu
rows.count
ergaenzend dazu
Sub makro01()
Rem letzte zeile eines sheets
a = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Rem letze spalte eines sheets
b = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
Rem letzte zeile einer spalte
c = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Rem letzte spalte einer zeile
d = ActiveSheet.Range("3:3").End(xlToRight).Column
End Sub
gruss nighty
Antwort 7 von Saarbauer vom 02.07.2021, 13:59 Options
Hallo,
mit @nighty Ergänzung
vorletzteZeile = Range("H" & Range("H" & Rows.Count).End(xlUp).Row - 1).End(xlUp).Row
hast du aber nicht viel gewonnen
Gruß
Helmut
Antwort 8 von Tomschi vom 02.07.2021, 14:00 Options
Hi!
Ups, da habe ich wohl unerwarteter Weise etwas "ausgelöst".
DANKE an alle, die sich an der Lösung beteiligt haben.
Die Antwort 5 liefter genau das von mir gesuchte Ergebnis.
Wünsche noch einen angenehmen Tag.
Tom