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

Forumthread: VBA/Excel - Anzahl der Zeilen ermitteln

VBA/Excel - Anzahl der Zeilen ermitteln
19.05.2004 09:32:50
SteeL
Hallo,
wollte mal fragen ob mir jemand den Befehl geben kann, der in einer Excel-Tabelle die Anzahl der Zeilen ermittelt und das diese Anzahl in einer MsgBox ausgegeben wird, wäre euch Dankbar wenn Ihr mir hier helfen könntet.
SteeL
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA/Excel - Anzahl der Zeilen ermitteln
19.05.2004 09:38:09
Matthias
Hallo Steel,
AnzahlZeilen = Range("A65536").End(xlUp).Row
gibt die letzte nichtleere Zelle in Spalte A wieder.
Reicht Dir das?
Gruß Matthias
AW: VBA/Excel - Anzahl der Zeilen ermitteln
SteeL
naja nicht wirklich, ich brauche die Zahl die am Ende rauskommt, da ich mit dieser weiter rechnen muss... gibt es da nicht noch eine andere löung, wäre dir dankbar
MfG Steel
Anzeige
AW: VBA/Excel - Anzahl der Zeilen ermitteln
19.05.2004 10:06:53
Matthias
Hallo Steel,
welche Zahl brauchst du?
Ich meine, wir brauchen irgendwie immer die Zahl, "die am Ende rauskommt"...
Erklär nochmal:
die Anzahl der benutzten Zeilen?
der Wert der letzten Zeile in Spalte A?
...?
Gruß Matthias
AW: VBA/Excel - Anzahl der Zeilen ermitteln
Steel
Habe es schon hinbekommen mit der Anzahl, ich habe jetzt aber ein anderes Problem, schau dir den Code mal an, vieleicht findest du den Fehler :
Dim A As Range
Dim AnzahlZeilen As Integer
AnzahlZeilen = Range("A2").End(xlDown).Row
For Each A In Range("C2:C(AnzahlZeilen)")
If A.Value "" And A.Offset(0, 1).Value "" Then
A.Offset(0, 2).Value = A.Value & "-" & A.Offset(0, 1).Value
End If
Next
Er sagt mir dann immer : "Die Methode 'Range' für das Objekt'_Worksheet' ist fehlgeschlagen" , könnte mir gut vorstellen das es was mit der Zeile :
For Each A In Range("C2:C(AnzahlZeilen)")
zu tun hat ?
MfG SteeL
Anzeige
AW: VBA/Excel - Anzahl der Zeilen ermitteln
19.05.2004 10:17:33
Matthias
Hallo Steel,
Es muss so heißen:
For Each A In Range("C2:C" & AnzahlZeilen)
und sei Dir bewusst, das der Code
AnzahlZeilen = Range("A2").End(xlDown).Row
nicht richtig funktioniert, wenn sich Leerzellen in der Tabelle befinden.
besser ist allemal
AnzahlZeilen = Range("A65535").End(xlUp).Row
Gruß Matthias
Anzeige
AW: VBA/Excel - Anzahl der Zeilen ermitteln
Steel
Achso... ok habs jetzt so,funktioniert auch ;), danke nochmal für deine Hilfe,
bis dann
Steel
Danke für die Rückmeldung - o.T.
19.05.2004 10:36:08
Matthias
-
AW: VBA/Excel - Anzahl der Zeilen ermitteln
KleinKatha
Hallo Steel,
versuchs vielleicht mal damit.

Sub Anzahl_Zeilen
Dim z as Long
z = Worksheets("Tabelle1").UsedRange.Rows.Count
MsgBox "Anzahl der Zeilen: " & z
End Sub

Gruß
Katharina
Anzeige
AW: VBA/Excel - Anzahl der Zeilen ermitteln
Steel
und wie lautet der dann wenn ich den aktiven worksheet haben will ?
MfG Steel
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Anzahl der Zeilen in Excel mit VBA ermitteln


Schritt-für-Schritt-Anleitung

Um die Anzahl der Zeilen in einer Excel-Tabelle mit VBA zu ermitteln, kannst Du folgende Schritte befolgen:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub Anzahl_Zeilen()
       Dim z As Long
       z = Worksheets("Tabelle1").UsedRange.Rows.Count
       MsgBox "Anzahl der Zeilen: " & z
    End Sub

    Hier wird die Anzahl der Zeilen ermittelt, die in "Tabelle1" verwendet werden.

  4. Schließe den VBA-Editor und führe das Makro aus, um die Anzahl der Zeilen in einer MessageBox anzuzeigen.

Wenn Du die Anzahl der Zeilen für das aktive Worksheet ermitteln möchtest, kannst Du den Code wie folgt anpassen:

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

Häufige Fehler und Lösungen

  • Fehler: "Die Methode 'Range' für das Objekt'_Worksheet' ist fehlgeschlagen"
    Lösung: Dieser Fehler tritt häufig auf, wenn der Range-Befehl nicht korrekt formuliert ist. Stelle sicher, dass Du Range("C2:C" & AnzahlZeilen) verwendest, anstatt Range("C2:C(AnzahlZeilen)").

  • Problem mit leeren Zellen:
    Wenn Du die Anzahl der Zeilen mit Inhalt zählen möchtest, verwende AnzahlZeilen = Range("A65535").End(xlUp).Row, um sicherzustellen, dass auch leere Zellen korrekt behandelt werden.


Alternative Methoden

Eine andere Methode, um die Anzahl der Zeilen in einer bestimmten Spalte zu zählen, ist die Verwendung der Funktion CountA. Hier ein Beispiel:

Sub Anzahl_Zeilen_In_Spalte()
    Dim z As Long
    z = Application.WorksheetFunction.CountA(Range("A:A"))
    MsgBox "Anzahl der nicht-leeren Zeilen in Spalte A: " & z
End Sub

Diese Methode zählt alle Zellen mit Inhalt in der angegebenen Spalte.


Praktische Beispiele

  1. Anzahl der Zeilen bis zur ersten leeren Zelle zählen:

    Sub Zeilen_Zählen_Bis_Leer()
       Dim AnzahlZeilen As Long
       AnzahlZeilen = Range("A2").End(xlDown).Row
       MsgBox "Anzahl der Zeilen bis zur ersten leeren Zelle: " & AnzahlZeilen
    End Sub
  2. Anzahl der Zeilen mit spezifischem Inhalt zählen:

    Sub Anzahl_Zeilen_Mit_Inhalt()
       Dim i As Long, z As Long
       For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
           If Cells(i, 1).Value <> "" Then z = z + 1
       Next i
       MsgBox "Anzahl der Zeilen mit Inhalt: " & z
    End Sub

Tipps für Profis

  • Verwende Long anstelle von Integer, um sicherzustellen, dass Du auch die maximale Anzahl von Zeilen in Excel (1.048.576 in Excel 365) handhaben kannst.
  • Vermeide die Verwendung von Range("A65536") in Excel 2007 und später, da die maximale Zeilenanzahl erhöht wurde. Nutze stattdessen Range("A" & Rows.Count).End(xlUp).Row.
  • Nutze Application.ScreenUpdating = False, um die Ausführungsgeschwindigkeit Deines VBA-Codes zu erhöhen.

FAQ: Häufige Fragen

1. Wie viele Zeilen hat Excel?
Excel hat in der aktuellen Version (Excel 365) eine maximale Anzahl von 1.048.576 Zeilen.

2. Wie kann ich die Anzahl der Zeilen in einer bestimmten Spalte ermitteln?
Du kannst die Anzahl der Zeilen in einer bestimmten Spalte mit CountA oder durch Schleifen über die Zellen in der Spalte ermitteln. Verwende die oben genannten Beispiele für die Implementierung.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige