|  
                                             Das hängt stark davon ab wie dein Tabellenblatt aufgebaut ist. 
Intelligente Tabelle (eng: Smart Table): 
ListObject "Tabelle1" ist der Name des Smart Tables; hat absolut rein gar nichts mit dem Blattnamen "Tabelle1" zu tun. 
(siehe Reiter: "Tabellenentwurf" im Menüband) 
  Dim objSmartTable As Excel.ListObject
  Dim rngColumn As Excel.Range
  
  Set objSmartTable = Worksheets("Tabelle1").ListObjects("Tabelle1")
  
  'mit Kopfzeile
  Set rngColumn = objSmartTable.ListColumns(5).Range
'  'nur der Datenbreich der Spalte
'  Set rngColumn = objSmartTable.ListColumns(5).DataBodyRange
  '...
 
normale Range: 
  Dim rngColumn As Excel.Range
  
  With Worksheets("Tabelle1")
    'E2:E? -> Zeilenindex '?' wird ermitteln
    ' Entspricht dem Verhalten von [STRG] + [Pfeil_hoch], wenn
    ' die unterste Zelle in der Spalte ausgewählt ist.
    Set rngColumn = .Range(.Cells(2, 5), .Cells(.Rows.Count, 5).End(xlUp))
    'wir gehen hier davon aus das in Zeile 1 die Spaltenbeschriftungen stehen
    'falls wir in der Zeile landen, dann gibt es zur Zeit keine Daten
    If rngColumn.Row < 2 Then Set rngColumn = Nothing
  End With
  
  '...
Anstatt der 5 kannst du auch "E" schreiben. 
  
An die Anzahl der Zeilen gelangst du dann über Range.Rows. 
rngColumn.Rows.Count 
  
  
     |