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

Forumthread: Anzahl Zeilen per vba bestimmen

Anzahl Zeilen per vba bestimmen
07.11.2018 16:22:55
Bastian
Hallo zusammen,
ich habe folgendes Problem:
ich würde gerne die Anzahl von Zellen in einer anderen Excel Datei als der, in der das Makro abgelegt ist, bestimmen.
Hierfür habe ich mir folgende Codezeilen zusammengebaut:

Dim AE As Workbook
Dim Lastrow As Long
Set AE = Workbooks.Open(ThisWorkbook.Path & "\Ausschuss Export.xls")
Lastrow = AE.Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row

Wenn ich den Code so laufen lasse, gibt mir Excel die Fehlermeldung:
"Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler"
Lastrow möchte ich anschließend für eine Schleife verwenden.
Die Datei in der ich die Zeilen zählen möchte heißt "Ausschuss Export" und ist ein automatischer Export aus einem ERP System. Außerdem fangen die Spaltenüberschriften mit den Werten darunter erst in Zeile 3 an.
Vielleicht hat ja jemand eine Lösung für mich. Würde mich sehr freuen.
Vielen Dank im Voraus!
Grüße Basti
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl Zeilen per vba bestimmen
07.11.2018 16:37:32
UweD
Hallo
ungetestet...
M1)
ist es wirklich eine .xls oder eine xlsx?
M2)
auch vor Rows auf das Blatt referenzieren
Set AE = Workbooks.Open(ThisWorkbook.Path & "\Ausschuss Export.xlsx")
With AE.Sheets("sheet1")
Lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
End With

LG UweD
Anzeige
AW: Anzahl Zeilen per vba bestimmen
07.11.2018 16:41:22
Bastian
Hallo Uwe,
ja ist eine .xls.
funktioniert einwandfrei! Danke!
Danke für die Rückmeldung owT
07.11.2018 16:57:14
UweD

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Anzahl Zeilen in Excel mit VBA bestimmen


Schritt-für-Schritt-Anleitung

Um die Anzahl der Zeilen in einer Excel-Datei mit VBA zu bestimmen, folge diesen Schritten:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf „VBAProject (dein Workbook)“ > Einfügen > Modul.

  3. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub AnzahlZeilenErmitteln()
       Dim AE As Workbook
       Dim Lastrow As Long
       ' Die Datei mit der Anzahl der Zeilen öffnen
       Set AE = Workbooks.Open(ThisWorkbook.Path & "\Ausschuss Export.xls")
       ' Auf das Blatt referenzieren und die letzte Zeile ermitteln
       With AE.Sheets("sheet1")
           Lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
       End With
       ' Die Anzahl der Zeilen ausgeben
       MsgBox "Die Anzahl der Zeilen ist: " & Lastrow
       AE.Close False
    End Sub
  4. Makro ausführen: Führe das Makro mit F5 aus. Es sollte eine Meldung erscheinen, die die Anzahl der Zeilen anzeigt.


Häufige Fehler und Lösungen

  • Laufzeitfehler '1004': Dieser Fehler kann auftreten, wenn die Datei nicht existiert oder der Pfad falsch ist. Überprüfe den Dateinamen und den Pfad.

  • Typfehler bei Dateierweiterung: Stelle sicher, dass die Dateiendung korrekt ist (.xls oder .xlsx). Der Code muss an die korrekte Erweiterung angepasst werden, z.B.:

    Set AE = Workbooks.Open(ThisWorkbook.Path & "\Ausschuss Export.xlsx")

Alternative Methoden

Eine andere Methode zur Ermittlung der Anzahl der Zeilen ohne VBA ist die Verwendung von Excel-Formeln. Du kannst die folgende Formel in eine Zelle eingeben, um die Anzahl der nicht leeren Zeilen in einer Spalte zu zählen:

=ANZAHL2(A:A)

Diese Formel zählt alle Zellen in der angegebenen Spalte, die Inhalte haben.


Praktische Beispiele

  1. Anzahl der Zeilen mit Inhalt zählen: Um nur die Zeilen mit Inhalt zu zählen, kannst du den Code entsprechend anpassen:

    Lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
    MsgBox "Anzahl der Zeilen mit Inhalt: " & Lastrow
  2. Anzahl der Zeilen in einer spezifischen Spalte ermitteln: Um die Anzahl der Zeilen in einer bestimmten Spalte (z.B. Spalte B) zu zählen, ändere den Code zu:

    Lastrow = .Cells(.Rows.Count, 2).End(xlUp).Row

Tipps für Profis

  • Nutze die Funktion UsedRange, um die Gesamtanzahl der verwendeten Zeilen und Spalten in einem Arbeitsblatt zu ermitteln:

    Lastrow = AE.Sheets("sheet1").UsedRange.Rows.Count
  • Wenn du mit großen Datenmengen arbeitest, achte darauf, dass die maximale Zeilenanzahl in Excel 365 bei 1.048.576 liegt.


FAQ: Häufige Fragen

1. Wie kann ich die Anzahl der Zeilen in einer bestimmten Spalte ermitteln? Verwende den folgenden Code, um die Anzahl der Zeilen in einer bestimmten Spalte (z.B. Spalte A) zu zählen:

Lastrow = AE.Sheets("sheet1").Cells(AE.Sheets("sheet1").Rows.Count, 1).End(xlUp).Row

2. Was ist der Unterschied zwischen .xls und .xlsx? .xls ist das ältere Dateiformat, das maximal 65.536 Zeilen unterstützt. .xlsx ist das neuere Format und unterstützt bis zu 1.048.576 Zeilen. Achte darauf, das richtige Format zu verwenden, um die Anzahl der Zeilen korrekt zu zählen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige