6.6k Aufrufe
Gefragt in Tabellenkalkulation von tomschi Mitglied (879 Punkte)
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

8 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
hallo,

versuch es mal damit

vorletzteZeile = Range("A65536").End(xlUp).Row-1



Gruß

Helmut
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Tom,

mit der Befehlszeile

Range("H65536").End(xlUp).Row -1
findest Du die vorletzte ausgefüllt Zelle Spalte H.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

natürlich muss es

Range("H65536").End(xlUp).Row

heissen

Gruß

Helmut
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
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
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

eine weitere Lösung

vorletzteZeile = Range("H" & Range("H65536").End(xlUp).Row - 1).End(xlUp).Row

Gruß

Helmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
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
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
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
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
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
...