Hallo Snb,
danke schon mal für deinen Code. Den habe ich habe hier mal etwas erweitert und für die Forumsmitglieder auch etwas leichter verständlich geschrieben.
(Objektdeklaration nachgeholt)
Code:
Sub M_snb_Forumfreundlich()
Dim it As Object
'Alle Leerbereiche in Spalte in 1
For Each it In Columns(1).SpecialCells(xlCellTypeBlanks).Areas
Debug.Print it.Address
Debug.Print it.Select
Next
'Alle Bereiche mit Inhalt in Spalte 1
For Each it In Columns(1).SpecialCells(xlCellTypeConstants).Areas
Debug.Print it.Address
Debug.Print it.Select
Next
End Sub
Adressen und Zellbereiche von leeren/nichtleeren Bereichen werden angegeben bzw. markiert. Interessante Erweiterung, beantwortet aber noch nicht meine Frage bzw.
höchstens indirekt, da die Sache über ForEach Schleife abgewickelt wird, müßte dann der entsprechende Bereich ausgerechnet werden. So etwas kann ich natürlich auch
mit End(XluP) und End(XlDown) etc. machen. Was mir vorschwebt ist die elegante Lösung. Am besten ein Einzeller.
Code:
Debug.Print "Areaanzahl mit Inhalt: " & Range("A:A").SpecialCells(xlCellTypeConstants).Areas.Count
Debug.Print "Areanzahl die leer sind: " & Range("A:A").SpecialCells(xlCellTypeBlanks).Areas.Count
Damit läßt sich die Areaanzahl angeben. Es muß duch auch möglich sein, die "Area" in der sich die aktuelle Zelle befindet direkt über einen Befehl auszugeben oder?!