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

Forumthread: VBA letzte und erste Zeile von Tabelle

VBA letzte und erste Zeile von Tabelle
30.08.2021 14:39:18
Tabelle
Moin moin,
die Tabelle heißt "Auflieger", das Tabellenblatt heißt "Fuhrpark".
Nun soll per Knopfdruck die erste Zeile ermittelt werden,
um die ganzen Einträge dazwischen zu überspringen.
In dem Tabellenblatt sind noch zwei weitere Tabellen,
weshalb ich irgendwie immer wieder den Faden verliere,
wenn ich versuche die letzte beschriebene Zeile von nur einer Tabelle zu ermittlen.
MfG
Herbert
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA letzte und erste Zeile von Tabelle
30.08.2021 14:46:44
Tabelle
hab schon!
Trotzdem danke.
Code:

Range("Auflieger3[Kennzeichen]").End(xlDown).Value
MfG
Herbert
AW: VBA letzte und erste Zeile von Tabelle
30.08.2021 15:00:44
Tabelle
Moin,
das mit der ersten funktioniert aber noch nicht so ganz,
also aussehen würde es so.
Code:

Range("Auflieger3[Kennzeichen]").End(xlUp).Value
Von dem Ergebnis, müsste ich aber noch eine Zeile runter und da bricht der Code immer kaputt... .
MfG
Herbert!
Anzeige
AW: VBA letzte und erste Zeile von Tabelle
30.08.2021 15:10:40
Tabelle
Moin,
habs doch hinbekommen... ,
bin einfach dumm.
Code:

Range("Auflieger3[Kennzeichen]").End(xlUp).Offset(1, 0).Value
MfG
Herbert
AW: VBA letzte und erste Zeile von Tabelle
31.08.2021 07:00:49
Tabelle
Moin,
.Value liefert dir den Wert aus der Zelle. Deine Beschreibung lässt vermuten, das du die Zeilennummer suchst.
.Row wäre die Zeilennummer.
gruß
rb
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Erste und letzte Zeile in einer VBA-Tabelle ermitteln


Schritt-für-Schritt-Anleitung

Um die erste und letzte Zeile in einer Excel-Tabelle mit VBA zu ermitteln, kannst Du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Ein neues Modul erstellen:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Code einfügen:

    • Kopiere und füge den folgenden Code in das Modul ein:
    Sub ErsteUndLetzteZeile()
       Dim ersteZeile As Long
       Dim letzteZeile As Long
    
       ' Erste Zeile der Tabelle ermitteln
       ersteZeile = Range("Auflieger3[Kennzeichen]").End(xlUp).Offset(1, 0).Row
    
       ' Letzte Zeile der Tabelle ermitteln
       letzteZeile = Range("Auflieger3[Kennzeichen]").End(xlDown).Row
    
       ' Ergebnisse ausgeben
       MsgBox "Erste Zeile: " & ersteZeile & vbCrLf & "Letzte Zeile: " & letzteZeile
    End Sub
  4. Makro ausführen:

    • Drücke F5, um das Makro auszuführen. Eine MessageBox wird die erste und letzte Zeile ausgeben.

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass der Tabellenname "Auflieger3" korrekt ist und das Tabellenblatt existiert.

  • Fehler: Keine Rückgabe für die Zeile
    Lösung: Überprüfe, ob es tatsächlich Daten in der angegebenen Spalte gibt. Wenn die Spalte leer ist, wird der Code nicht funktionieren.

  • Fehler bei der Offset-Funktion
    Lösung: Achte darauf, dass die Offset-Funktion korrekt angewendet wird, um zur nächsten Zeile zu gelangen.


Alternative Methoden

Eine andere Möglichkeit, die erste und letzte Zeile zu ermitteln, ist die Verwendung von ListObjects:

Sub ErsteUndLetzteZeileMitListObject()
    Dim tbl As ListObject
    Dim ersteZeile As Long
    Dim letzteZeile As Long

    Set tbl = ThisWorkbook.Sheets("Fuhrpark").ListObjects("Auflieger3")

    ersteZeile = tbl.HeaderRowRange.Row + 1
    letzteZeile = tbl.ListRows.Count + tbl.HeaderRowRange.Row

    MsgBox "Erste Zeile: " & ersteZeile & vbCrLf & "Letzte Zeile: " & letzteZeile
End Sub

Praktische Beispiele

Wenn Du die erste Zeile eines bestimmten Bereichs benötigst, kannst Du diese Methode verwenden:

Sub BeispielErsteZeile()
    Dim ersteZeile As Long
    ersteZeile = Range("Auflieger3[Kennzeichen]").End(xlUp).Row
    MsgBox "Die erste beschriebene Zeile ist: " & ersteZeile
End Sub

Für die letzte Zeile kannst Du den folgenden Code verwenden:

Sub BeispielLetzteZeile()
    Dim letzteZeile As Long
    letzteZeile = Range("Auflieger3[Kennzeichen]").End(xlDown).Row
    MsgBox "Die letzte beschriebene Zeile ist: " & letzteZeile
End Sub

Tipps für Profis

  • Nutze Debug.Print, um Zwischenergebnisse anzuzeigen, während Du den Code testest.
  • Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Teste den Code in einer Kopie Deiner Datei, um Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Zeilennummer der letzten Zeile in einer Tabelle ermitteln?
Verwende den folgenden Code, um die letzte Zeile zu ermitteln:

letzteZeile = Range("Auflieger3[Kennzeichen]").End(xlDown).Row

2. Was ist der Unterschied zwischen .Value und .Row?
.Value gibt den Inhalt der Zelle zurück, während .Row die Zeilennummer der Zelle angibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige