Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA rows.count

VBA rows.count
12.09.2005 09:44:11
Sascha
Me.cmdLieferscheinnummer.Value = Cells(Rows.Count, 2).End(xlUp).Offset(1, -1).Text
Mit disem Befehl bestimme ich die letzte beschriebene Zelle in der Spalte B und lese dann den Wert der darunter liegenden Zelle in der Spalte A aus.
Kann ich diesen Befehl so ändern dass auch mehrere Spalten gleichzeitig auf die letzte beschriebene Zelle überprüft werden können, also nicht nur Spalte B sondern den Bereich der Spalten B bis AN überprüft werden? Ich brauch halt den Wert der Zelle der Spalte A aus der nächsten freien Zeile
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA rows.count
12.09.2005 10:00:00
Manfred
Hallo Sascha,
Das geht in etwa so

Sub letzteZeile()
Dim i As Integer, j As Long
j = 1
For i = 2 To 40   '40 entspricht Spalte AN
If Cells(Rows.Count, i).End(xlUp).Row > j Then
j = Cells(Rows.Count, i).End(xlUp).Row
End If
Next
Me.cmdLieferscheinnummer.Value = Cells(j + 1, 1)
End Sub

Gruß Manfred
Anzeige
AW: VBA rows.count
12.09.2005 10:32:02
Sascha
Super Danke schön, hat funktioniert.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA: Zeilen zählen mit rows.count


Schritt-für-Schritt-Anleitung

Um die letzte beschriebene Zeile in einer Excel-Tabelle mit VBA zu ermitteln, kannst du den folgenden Code verwenden. Dieser nutzt die Rows.Count Funktion, um die Gesamtzahl der Zeilen in einem Arbeitsblatt zu zählen.

Sub letzteZeile()
    Dim j As Long
    j = Cells(Rows.Count, 2).End(xlUp).Row  ' Zählt die Zeilen in Spalte B
    MsgBox "Die letzte beschriebene Zeile ist: " & j
End Sub

Wenn du die letzte beschriebene Zeile in mehreren Spalten (z. B. von B bis AN) überprüfen möchtest, kannst du den Code wie folgt anpassen:

Sub letzteZeileMehrereSpalten()
    Dim i As Integer, j As Long
    j = 1
    For i = 2 To 40   '40 entspricht Spalte AN
        If Cells(Rows.Count, i).End(xlUp).Row > j Then
            j = Cells(Rows.Count, i).End(xlUp).Row
        End If
    Next
    MsgBox "Die letzte beschriebene Zeile in den Spalten B bis AN ist: " & j
End Sub

Häufige Fehler und Lösungen

  • Fehler: "Runtime Error 1004"

    • Lösung: Stelle sicher, dass das Arbeitsblatt, auf dem der Code ausgeführt wird, aktiv ist. Überprüfe auch, dass es Daten in der entsprechenden Spalte gibt.
  • Fehler: Unerwartetes Ergebnis

    • Lösung: Achte darauf, dass die Rows.Count Funktion auf das korrekte Arbeitsblatt angewendet wird. Nutze ActiveSheet.Rows.Count, um sicherzustellen, dass du die Zeilen des aktuellen Blattes zählst.

Alternative Methoden

Eine alternative Methode zur Ermittlung der Anzahl der Zeilen ist die Verwendung von UsedRange:

Sub ZeilenZaehlen()
    Dim rowCount As Long
    rowCount = ActiveSheet.UsedRange.Rows.Count
    MsgBox "Anzahl der verwendeten Zeilen: " & rowCount
End Sub

Diese Methode zählt alle Zeilen, die Daten enthalten, unabhängig von der verwendeten Spalte.


Praktische Beispiele

  1. Anzahl der Zeilen in einer bestimmten Spalte zählen:
Sub CountRowsInColumn()
    Dim count As Long
    count = Cells(Rows.Count, 2).End(xlUp).Row  ' Zählt die Zeilen in Spalte B
    MsgBox "Anzahl der befüllten Zeilen in Spalte B: " & count
End Sub
  1. Zählen der beschrifteten Zellen mit Werten:
Sub CountCellsWithValue()
    Dim count As Long
    count = Application.WorksheetFunction.CountA(Range("A1:A" & Rows.Count))
    MsgBox "Anzahl der befüllten Zellen in Spalte A: " & count
End Sub

Tipps für Profis

  • Nutze Application.WorksheetFunction.CountA, um nur die Zellen mit Werten zu zählen. Dies ist besonders hilfreich, wenn du nur bestimmte Zeilen in deiner Analyse benötigst.
  • Verwende Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden und den Code übersichtlicher zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der Zeilen in einer Tabelle zählen? Um die Anzahl der Zeilen in einer Tabelle zu zählen, kannst du die ListObjects-Funktion verwenden:

Dim rowCount As Long
rowCount = ActiveSheet.ListObjects("Tabelle1").ListRows.Count
MsgBox "Anzahl der Zeilen in der Tabelle: " & rowCount

2. Wie zähle ich nur die sichtbaren Zeilen? Um nur die sichtbaren Zeilen zu zählen, kannst du eine Schleife verwenden, um die Sichtbarkeit zu überprüfen:

Dim visibleCount As Long
Dim cell As Range
For Each cell In Range("A1:A" & Rows.Count).SpecialCells(xlCellTypeVisible)
    visibleCount = visibleCount + 1
Next cell
MsgBox "Anzahl der sichtbaren Zeilen: " & visibleCount

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