Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA - letzte Zeile bestimmen

Forumthread: VBA - letzte Zeile bestimmen

VBA - letzte Zeile bestimmen
19.04.2025 18:05:21
Christian
Hallo,

ich stehe leider vor einem Problem das ich so noch nicht hatte, ich hoffe, ihr habt eine Lösung für mich.

Ich wollte mit

letzteZeileErgebnis = wsErgebnis.Cells(wsErgebnis.Rows.count, 3).End(xlUp).Row

Zeile 803 als letzte Zeile mit Inhalt in Spalte C bestimmen.

Jetzt ist das Ganze aber Teil des Listobjects namens Tabelle7, welches den Bereich $A$1:$Q$835 umfasst. Der Bereich C804:C835 ist nunmal schlicht leer, aber trotzdem Teil des Listobjects. Was kann ich da tun?

Danke
Christian
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - letzte Zeile bestimmen
19.04.2025 18:28:36
Onur
Was genau ist denn jetzt das gewünschte Ergebnis? 803 oder 835 ???
AW: VBA - letzte Zeile bestimmen
19.04.2025 18:34:14
Christian
Hallo Onur,

835 ist das jetzige Ergebnis, 803 das gewünschte

Gruß
Christian
AW: VBA - letzte Zeile bestimmen
19.04.2025 18:34:21
Onur
For letzteZeile=10000 to 1 step-1

If cells(letzteZeile,3)>"" then exit for
Next letzteZeile
Anzeige
AW: VBA - letzte Zeile bestimmen
19.04.2025 18:43:19
Christian
Hallo Onur,

vielen Dank. Funktioniert ebenfalls.

Gruß
Christian
Was kannst Du da tun?
19.04.2025 18:32:03
RPP63
Moin!
"Normalerweise" haben Leerzeilen in einem Listobjekt nichts zu suchen.
Wenn Du hingegen Leerzellen in einer Spalte des LO meinst, musst Du eine andere Terminologie anwenden.
Hier der Unterschied:
Sub LO()

Debug.Print Tabelle4.Cells(Tabelle4.Rows.Count, 2).End(xlUp).Row
Debug.Print Tabelle4.ListObjects(1).DataBodyRange.Columns(2).Cells(1).End(xlDown).Row
End Sub


Codes für das Listobjekt findest Du hier:
https://www.thespreadsheetguru.com/listobject-tables-vba/

Gruß Ralf
Anzeige
AW: Was kannst Du da tun?
19.04.2025 18:34:39
RPP63
Natürlich Cells(…, 3) statt 2
Das funktioniert natürlich nur, wenn C lückenlos gefüllt ist und die Zellen darunter tatsächlich leer sind.
Sie dürfen z.B. keine Formeln mit dem Ergebnis eines Leerstrings "" beinhalten.
wenn ich ehrlich bin...
19.04.2025 18:46:15
Christian
fügt das Makro vorher schon ne Formel in Spalte C ein, die in diesem Bereich Leerstrings erzeugt.

Da diese aber schon vorher aus anderen Gründen gestört haben, hatte ich vorher schon die Werte mit Value2 ersetzt damit diese verschwinden. Somit war das jetzt für diesen Fall hier kein Problem mehr.

Und da das Makro nach Einfügen dieser Formel nach Spalte C sortiert, gibt es auch keine Lücken.

Also alles in Butter
Christian
Anzeige
AW: Was kannst Du da tun?
19.04.2025 18:41:20
Christian
Hallo Ralf,

danke für deine Antwort.
da musst du dich verlesen haben, von ganzen Leerzeilen im Listobject war nicht die Rede und die existieren auch nicht. Hatte nur gesagt, dass der Bereich C804:C835 leer ist, der Bereich C2:C803 hat Inhalt.

jedenfalls

letzteZeileErgebnis = wsErgebnis.ListObjects(1).DataBodyRange.Columns(3).Cells(1).End(xlDown).Row

funktioniert. Vielen Dank

Wozu ich das Cells(1) benötige ist mir im Moment jedoch noch nicht klar, mein Test hat jedenfalls ergeben, dass auch ohne Cells(1) die Variable den Wert 803 bekommt.

Gruß
Christian
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18