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

Forumthread: Letzte Zeile in intelligenter Tabelle

Letzte Zeile in intelligenter Tabelle
25.09.2019 13:29:20
JayJay
Hallo zusammen,
ich habe eine intelligente Tabelle ("Tb_Zusammenfassung") mit mehreren Spalten. Aus dieser möchte ich die letzte beschriebene Zeile der Spalte "Auftragsnummer" ermitteln.
Die Range wäre also "Tb_Zusammenfassung[Auftragsnummer]".
Kann mir da jemand behilflich sein?
Vielen Dank bereits im Voraus.
JayJay
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile in intelligenter Tabelle
25.09.2019 13:50:59
Daniel
Hi
=Index(Tb_Zusammenfassung[Auftragsnummer];Zeilen(Tb_Zusammenfassung[Auftragsnummer]))
Gruß Daniel
AW: Letzte Zeile in intelligenter Tabelle
25.09.2019 14:00:39
JayJay
Hi Daniel,
danke für deine schnelle Rückmeldung - das funktioniert soweit. Aber kann ich das auch in einen VBA Code schreiben?
Gruß
JayJay
AW: Letzte Zeile in intelligenter Tabelle
25.09.2019 14:17:43
EtoPHG
Hallo JayJay,
Die Frage ist doch, was du damit genau anstellen willst.
Schau dir doch im Objekt-Explorer mal die Eigenschaften für die DataBodyRange eines ListObjects an. Da gibt es u.a. die Eigenschaft Rows.Count.
Gruess Hansueli
Anzeige
AW: Letzte Zeile in intelligenter Tabelle
25.09.2019 14:24:26
JayJay
Hallo Hansueli,
im Prinzip fülle ich die Tabelle "Zusammenfassung" mit Informationen aus anderen Tabellenblättern. Hierfür erweitere ich die Intelligente Tabelle um eine weitere Zeile, wodurch sich automatisch eine fortlaufende Auftragsnummer generiert. Anhand der letzten Nummer in der Spalte Auftragsnummer orientiere ich mich nun, um zu wissen, in welche Zeile meine Daten aus den anderen Tabellen eingefügt werden müssten.
Also im Prinzip werden die einzufügenden Daten immer ans Ende (= neue Zeile) der Tabelle Zusammenfassung gestellt.
Anzeige
AW: Letzte Zeile in intelligenter Tabelle
25.09.2019 14:29:34
EtoPHG
Hallo JayJay,
...und was willst Du mir damit sagen?
Ich kann daraus nur lesen, dass du dir die Mühe 'die Objektstruktur von ListObjects zu studieren' erspart hast und aus eine pfannenfertige Lösung hoffst.
Da muss ich wegen der dünnen Informationlage passen.
Gruess Hansueli
AW: Letzte Zeile in intelligenter Tabelle
25.09.2019 14:30:52
Daniel
Hi
letzteZeile = Range("Tabellename").Row + Range("Tabellenname").rows.count - 1
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Letzte Zeile in intelligenter Tabelle ermitteln


Schritt-für-Schritt-Anleitung

Um die letzte Zeile in einer intelligenten Tabelle (auch als "ListObject" bekannt) zu ermitteln, kannst Du sowohl mit Excel-Formeln als auch mit VBA arbeiten. Hier ist eine einfache Anleitung für beide Methoden.

Mit Excel-Formel:

  1. Gehe zu einer leeren Zelle.
  2. Füge folgende Formel ein, um die letzte beschriebene Zeile der Spalte "Auftragsnummer" zu ermitteln:

    =INDEX(Tb_Zusammenfassung[Auftragsnummer];ANZAHL(Tb_Zusammenfassung[Auftragsnummer]))

Diese Formel gibt Dir den Wert der letzten Zeile in der Spalte "Auftragsnummer" zurück.

Mit VBA:

  1. Öffne den Visual Basic for Applications (VBA) Editor (ALT + F11).
  2. Füge ein neues Modul hinzu.
  3. Verwende den folgenden Code, um die letzte Zeile in der Tabelle zu ermitteln:

    Sub letzteZeileErmitteln()
       Dim letzteZeile As Long
       letzteZeile = ThisWorkbook.Sheets("DeinBlattname").ListObjects("Tb_Zusammenfassung").ListRows.Count
       MsgBox "Die letzte Zeile ist: " & letzteZeile
    End Sub

Ersetze "DeinBlattname" durch den tatsächlichen Namen des Arbeitsblattes.


Häufige Fehler und Lösungen

Fehler: #WERT! in der Formel
Lösung: Stelle sicher, dass der Tabellenname und die Spaltenüberschrift korrekt sind. Achte auch darauf, dass die Tabelle keine leeren Zeilen enthält.

Fehler: VBA gibt eine Fehlermeldung zurück
Lösung: Überprüfe, ob der Tabellenname in Deinem VBA-Code korrekt ist. Achte darauf, dass die Tabelle tatsächlich auf dem angegebenen Blatt existiert.


Alternative Methoden

Es gibt alternative Methoden, um die letzte Zeile einer Tabelle zu ermitteln. Eine Möglichkeit ist die Verwendung der End-Eigenschaft in VBA:

Sub letzteZeileMitEndErmitteln()
    Dim letzteZeile As Long
    letzteZeile = ThisWorkbook.Sheets("DeinBlattname").Cells(Rows.Count, "A").End(xlUp).Row
    MsgBox "Die letzte Zeile ist: " & letzteZeile
End Sub

Diese Methode sucht die letzte beschriebene Zeile in der Spalte A.


Praktische Beispiele

Beispiel 1: Du möchtest die letzte Zeile einer intelligenten Tabelle hinzufügen und sicherstellen, dass die Auftragsnummer fortlaufend ist. Verwende die folgende VBA-Prozedur:

Sub neueZeileHinzufuegen()
    Dim tabelle As ListObject
    Set tabelle = ThisWorkbook.Sheets("DeinBlattname").ListObjects("Tb_Zusammenfassung")

    tabelle.ListRows.Add
    MsgBox "Eine neue Zeile wurde hinzugefügt. Die letzte Zeile ist nun: " & tabelle.ListRows.Count
End Sub

Beispiel 2: Um die letzte Zeile mit Inhalt zu ermitteln, kannst Du die ANZAHL-Funktion in Kombination mit einer Formel verwenden:

=ANZAHL(Tb_Zusammenfassung[Auftragsnummer])

Diese Formel gibt Dir die Anzahl der beschrifteten Zeilen in der Spalte „Auftragsnummer“ zurück.


Tipps für Profis

  • Nutze die DataBodyRange-Eigenschaft für eine effizientere Ermittlung der letzten Zeile in einer intelligenten Tabelle.
  • Wenn Du häufig mit VBA arbeitest, erstelle Funktionen, die Du wiederverwenden kannst, um die letzte Zeile zu ermitteln.
  • Dokumentiere Deine VBA-Codes gut, damit Du später leichter nachvollziehen kannst, was jeder Teil des Codes bewirkt.

FAQ: Häufige Fragen

1. Wie kann ich die letzte Zeile einer Tabelle ermitteln, wenn die Tabelle dynamisch ist?
Verwende die ListRows.Count-Methode in VBA, um die Anzahl der Zeilen in der Tabelle zu ermitteln. Dies funktioniert auch, wenn Zeilen hinzugefügt oder entfernt werden.

2. Gibt es eine Formel, um nur die letzte beschriebene Zeile mit Inhalt zu ermitteln?
Ja, Du kannst die INDEX-Funktion zusammen mit ANZAHL verwenden, um die letzte beschriebene Zeile in einer bestimmten Spalte zu ermitteln.

3. Was ist der Unterschied zwischen einer intelligenten Tabelle und einer normalen Excel-Tabelle?
Eine intelligente Tabelle (ListObject) bietet zusätzliche Funktionen wie automatische Filter, Formatierungen und die Möglichkeit, Daten dynamisch zu erweitern. Sie erleichtert die Datenverwaltung erheblich.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige