Hallöchen,
ich möchte gerne den Leerbereich (hier zwischen Zeile 9 und Zeile 14 ) auswählen und selektieren. Die aktive Zelle kann sich dabei beliebig irgendwo im Leerbereich befinden .
Wie lautet der entsprechende VBA Code dafür?
[
Bild bitte so als Datei hochladen: Klick mich!]
Hallöchen,
leider nicht ganz das was ich suche. Habe vergessen zu erwähnen, dass in der Nachbarspalte(n) auch noch etwas stehen kann.
Bei meinem hier angegeben Beispiel würde
Code:
Range("A:A").SpecialCells(xlCellTypeBlanks).Areas(1).Select
gut funktionieren. Aber das Problem bei oben genanntem Code ist, das der Leerbereich überall in der Spalte stehen kann, dass es beliebig viele Leerbereiche geben kann und
dass ich nicht weiß wie man die Index von Area, im Beispiel hier ja gleich 1, bestimmen kann. Brauch also noch etwas Hilfe von euch.
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?!
Statt 100% überflüssige Code (die Besucher hier sind kluger als du meinst) hinzufügen wäre es besser deine Frage exakter zu formulieren.
Hallöchen,
ganz einfach: Bei einer gegebenen AktivenZelle in einem leeren Zellbereich in Spalte 1 möchte ich wissen, welcher Index für das Area das ist, denn dann kann ich
mit den schon von mir gemachten Angaben den Leerbereich direkt markieren:
Code:
Range("A:A").SpecialCells(xlCellTypeBlanks).Areas(???).Select
Hallo Snb,
dat is it!! Danke, Super gemacht!!!!
P.S.: Freu dich bzw. freut euch nicht zu früh, habe bestimmt noch Fragen und nerv weiter. Aber für heute schalt ich den Rechner aus.
Euch einen schönen Abend.
Hallo,
geht so etwas nicht auch mit der WorksheetFunction.CountIF ?!