Einen zusammenhängenden Bereich selektieren
Definition: Ein zusammenhängende Bereich sind Zellen, welche alle direkt zusammenhängen. Zellen mit einer Formel, welche beispielsweise ""
(also einen LeerString) zurück gibt, sind nicht leer!
Sie wollen selektieren …
Alle zusammenhängenden Zellen, egal welcher Inhalt
Markieren Sie eine beliebige Zelle im Bereich A1:B6 und führen Sie diesen Code aus:
ActiveCell.CurrentRegion.Select
Nur die Leerzellen
Auch hier eine beliebige Zelle in dem Bereich markieren und als Code:
ActiveCell.CurrentRegion.SpecialCells(xlCellTypeBlanks).Select
Das hier gezeigte Ergebnis wird Sie vielleicht überraschen:
B1 ist offensichtlich als Ankerzelle markiert, aber B5 wurde nicht markiert. Der Grund ist einleuchtend: In der Zelle steht eine Formel, welche einen LeerString ""
als Wert erzeugt.
Nur feste Werte
Markieren Sie eine beliebige Zelle im Bereich und führen Sie diesen Code aus:
ActiveCell.CurrentRegion.SpecialCells(xlCellTypeConstants).Select
Dass A2 nicht markiert ist liegt in diesem Fall daran, dass auch dort eine Formel und kein fester Wert steht.
Nur Formeln
Markierung wie gehabt, jetzt aber diese Formel:
ActiveCell.CurrentRegion.SpecialCells(xlCellTypeFormulas).Select
Was der Beweis für die vorherigen „Behauptungen” wäre 🙂 .
Verschiedene
Es gibt noch einige weitere Argumente für die Selektion. Geben Sie einfach nur den ersten Teil der Formel ein:
ActiveCell.CurrentRegion.SpecialCells(xlCellType
und drücken Sie dann Strg+Leertaste, dann werden Ihnen in einem Kontextmenü alle Möglichkeiten angeboten:
Anschließend die schließende Klammer und beispielsweise die Select
-Anweisung.
Zur Klarstellung 💡
Hier noch einmal eine Abbildung:
Es war eine Zelle im Bereich A1:B6 markiert und dann der VBA-Code aus dem ersten beispiel oben aufgerufen, also die CurrentRegion
ohne Einschränkende Argumente. Sie erkennen, dass durch die komplett leere Zeile 7 als auch Spalte C ab Zeile 8 ein neuer Bereich beginnt. Die gewünschte CurrentRegion ist eindeutig erkannt und markiert worden. Die rötliche Markierung dient nur der (optischen) Verdeutlichung und hat keinen Einfluss auf das Ergebnis dieser Operation.