Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ActiveSheet.UsedRange.Rows.Count falscher Wert

ActiveSheet.UsedRange.Rows.Count falscher Wert
22.03.2006 09:25:13
Markus
Morgen,
ActiveSheet.UsedRange.Rows.Count bringt bei mir immer Falscher Wert..
Importiere txt file mit 12000 zeilen...
zurück bekomm iche 58xxx .....
was läuft da schief? danke
With ActiveSheet.QueryTables.Add(Connection:=strConnect, Destination:=Range("A2"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(4, 4, 4, 6, 10, 18, 3, 13, 13, 13, 13, 13, 13, 13, 13, _
13, 13, 13, 13, 13, 13, 13, 9, 9, 9, 1, 1, 1, 18, 9, 3)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
lngDatensaetze = ActiveSheet.UsedRange.Rows.Count
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ActiveSheet.UsedRange.Rows.Count falscher Wert
22.03.2006 12:47:28
Heiko
Hallo Markus,
einen UsedRange hast du auch dann noch, wenn in den Zellen zwar nichts mehr drin steht aber die Zellen noch irgendwie formatiert sind. Nimm besser diese Anweisung:
MsgBox ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Damit geht es sicherer.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
THX
22.03.2006 14:06:02
Markus
THX klappt astrein
;

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

Aktives Arbeitsblatt: Falscher Wert bei UsedRange.Rows.Count


Schritt-für-Schritt-Anleitung

Um den richtigen Wert für ActiveSheet.UsedRange.Rows.Count zu erhalten, gehe folgendermaßen vor:

  1. Überprüfe die Daten: Stelle sicher, dass die Daten, die du importierst, korrekt sind und keine versteckten Formate oder Leerzeilen enthalten.
  2. Verwende den richtigen Code: Anstelle von ActiveSheet.UsedRange.Rows.Count, verwende den folgenden Befehl, um die letzte Zeile zu ermitteln:
    lngDatensaetze = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

    Dies gibt dir die tatsächliche Anzahl der verwendeten Zeilen zurück, auch wenn einige Zellen leer sind.

  3. Testen: Führe den Code aus und überprüfe, ob die Ausgabe dem erwarteten Wert entspricht.

Häufige Fehler und Lösungen

  • Falscher Wert trotz Daten: Dies kann passieren, wenn Zellen formatiert sind oder Leerzeilen vorhanden sind. Verwende die oben genannte Methode, um die tatsächliche Zeilenzahl zu ermitteln.
  • UsedRange zeigt falsche Zeilen an: Wenn du ActiveSheet.UsedRange.Rows.Count verwendest, ergibt sich möglicherweise ein höherer Wert, weil formatierte Zellen in den Zählungen enthalten sind. Gehe sicher, dass du nur die benötigten Daten analysierst.

Alternative Methoden

Es gibt verschiedene Ansätze, um die Anzahl der verwendeten Zeilen in einem Arbeitsblatt zu zählen:

  • Verwende UsedRange: Du kannst das UsedRange-Objekt verwenden, um die Gesamtzahl der Zeilen und Spalten zu ermitteln:

    Dim totalRows As Long
    totalRows = ActiveSheet.UsedRange.Rows.Count

    Beachte jedoch, dass dies oft mehr Zeilen anzeigt, als tatsächlich verwendet werden.

  • Loop durch Zeilen: Eine weitere Möglichkeit ist, durch die Zeilen zu iterieren und die verwendeten Zeilen manuell zu zählen, was jedoch ineffizient sein kann.


Praktische Beispiele

Hier ist ein Beispiel, wie du den VBA-Befehl in einem Makro verwenden kannst:

Sub CountUsedRows()
    Dim lngDatensaetze As Long
    ' Finde die letzte verwendete Zeile in der ersten Spalte
    lngDatensaetze = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    MsgBox "Die Anzahl der verwendeten Zeilen beträgt: " & lngDatensaetze
End Sub

Tipps für Profis

  • Optimierung der Performance: Wenn du große Datenmengen hast, achte darauf, die Bildschirmaktualisierung und Berechnungen zu deaktivieren, um die Ausführungsgeschwindigkeit zu erhöhen:
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    ' Dein Code hier
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
  • Verwendung von UsedRange: Nutze ActiveSheet.UsedRange in Kombination mit anderen Eigenschaften, um spezifischere Informationen über die Daten zu erhalten, z.B. die Anzahl der Spalten:
    MsgBox "Anzahl der Spalten: " & ActiveSheet.UsedRange.Columns.Count

FAQ: Häufige Fragen

1. Warum zeigt ActiveSheet.UsedRange.Rows.Count einen höheren Wert an?
Das liegt oft daran, dass Zellen formatiert sind oder Daten in nicht sichtbaren Zellen vorhanden sind. Verwende die Methode mit Cells(Rows.Count, 1).End(xlUp).Row für genauere Ergebnisse.

2. Wie zähle ich nur die nicht-leeren Zeilen?
Du kannst eine Schleife verwenden, um nur die nicht-leeren Zeilen zu zählen, oder die oben genannten Methoden nutzen, um die letzte verwendete Zeile zu finden.

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