Sorry, für die späte Antwort, war 'n ereignissreicher Tag.
Wenn die Spalte A durchweg Inhalt besitzt, kann man daran die Anzahl der Zeilen ermitteln.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Option Explicit
Sub Example()
Dim rngData As Excel.Range
Dim lngFirstDataRow As Long
lngFirstDataRow = 4
With Worksheets( "Tabelle1" )
Set rngData = .Range(.Cells(lngFirstDataRow, "A" ), .Cells(.Rows.Count, "A" ). End (xlUp))
If rngData.Row < lngFirstDataRow Then Set rngData = Nothing
End With
If rngData Is Nothing Then
Call MsgBox( "Keine Zeilen mit Daten vorhanden." , vbExclamation)
Exit Sub
End If
Call Application.Goto(rngData)
Call MsgBox( "Der Datenbereich - in Spalte A - wurde markiert." , vbInformation)
End Sub
|
Hier wird in Spalte A mittels End(xlUp), von unten nach oben, in die erste Zelle mit Inhalt gesprungen; das ist dann automatisch auch die letzte Zelle in unserem Bereich.
Einen Bereich kann man nach folgenden Schema referenzieren (folgend mal allgemein RangeObject genannt):
Set RangeObject = Range( RangeObject01 , RangeObject02 )
Im Code-Schnipsel oben ist das die Variable rngData. Range() als auch Cells() liefern nämlich solch ein RangeObject.
Mittels der Variable rngData, die nun stellvertretend für den Datenbereich steht, kann man dann auf die darin liegenden Daten zugreifen.
Die Anzahl der Zeilen würde man z.B. so erhalten:
1 | Call MsgBox( "Anzahl Zeilen: " & rngData.Rows.Count)
|
Grüße
|