L10 = Überschrift der Pivot
L11 = Der erste Datensatz
Danke für eure Hilfe!
Cells(rows.count, "L").end(xlup)
Sub Makro1()
With ActiveSheet.PivotTables("PvtMitVba")'PivotTables- Name anpassen
lz = Cells(Rows.Count, 1).End(xlUp).Row 'ev. Spalten Nr. anpassen
End With
End Sub
With Tabelle2.PivotTables("PivotTable1").DataBodyRange
n = .Cells(.Cells.Count).Row
End With
With Tabelle2.PivotTables("PivotTable1").DataBodyRange
.Cells(.Cells.Count).Select
End With
With Tabelle4.PivotTables("PivotTable1").DataBodyRange
n = .Cells(.Cells.Count).Row
Debug.Print n
'oder so:
n = .SpecialCells(xlCellTypeLastCell).Row
Debug.Print n
End With
Gruß von LuschiUm die letzte Zeile einer Pivottabelle in Excel zu ermitteln, kannst Du folgenden VBA-Code verwenden. Dieser Code geht davon aus, dass die Pivottabelle in der Spalte L beginnt.
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul ein: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx), wähle Einfügen und dann Modul.
Kopiere und füge den folgenden Code in das Modul ein:
Sub LetzteZeilePivot()
Dim lz As Long
lz = Cells(Rows.Count, "L").End(xlUp).Row
MsgBox "Die letzte Zeile der Pivottabelle ist: " & lz
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro aus, um die letzte Zeile der Pivottabelle zu ermitteln.
Problem: Der Code gibt immer den Wert 1 zurück.
Problem: Der Code funktioniert nicht für Pivottabellen.
DataBodyRange-Eigenschaft der Pivottabelle:Sub LetzteZeilePivotDataBody()
Dim n As Long
With ActiveSheet.PivotTables("PvtMitVba").DataBodyRange
n = .Cells(.Cells.Count).Row
End With
MsgBox "Die letzte Zeile in der Pivottabelle ist: " & n
End Sub
Neben VBA kannst Du auch die Funktion =ANZAHL2() verwenden, um die letzte Zeile einer Tabelle zu ermitteln. Diese Methode ist besonders nützlich, wenn Du keine Makros verwenden möchtest.
Verwende die Formel:
=ANZAHL2(L11:L1000)
Diese Formel zählt die nicht-leeren Zellen im Bereich und gibt die Anzahl zurück.
Beispiel 1: Angenommen, Deine Pivottabelle beginnt in Zelle L11 und Du möchtest die letzte Zeile in einer Nachricht anzeigen:
Sub LetzteZeilePivotBeispiel()
Dim lz As Long
lz = Cells(Rows.Count, "L").End(xlUp).Row
MsgBox "Die letzte Zeile der Pivottabelle ist: " & lz
End Sub
Beispiel 2: Um die letzte Zeile einer Pivottabelle zu selektieren:
Sub SelektiereLetzteZeile()
Dim lz As Long
lz = Cells(Rows.Count, "L").End(xlUp).Row
ActiveSheet.Cells(lz, "L").Select
End Sub
Wenn Du häufig mit Pivottabellen arbeitest, erstelle Dir eine benutzerdefinierte Funktion, die die letzte Zeile in einer Pivottabelle ermittelt. So kannst Du diese Funktion schnell in verschiedenen Arbeitsmappen verwenden.
Verwende Debug.Print, um den Wert der letzten Zeile in das Direktfenster zu drucken. So kannst Du den Wert überprüfen, ohne eine Nachricht anzuzeigen.
1. Wie kann ich die letzte Zeile in einer Tabelle ohne VBA ermitteln?
Du kannst die Funktion =ANZAHL2(Bereich) verwenden, um die Anzahl der nicht-leeren Zellen zu zählen.
2. Warum gibt mein Makro immer den Wert 1 zurück? Das passiert, wenn die Pivottabelle keine Daten enthält. Stelle sicher, dass die Pivottabelle Daten hat, bevor Du das Makro ausführst.