![]() |
||
![]() |
Bereiche per Makro markierenIch arbeite mit meiner Schⁿlergruppe unter Excel 95. Fⁿr eine Teilanwendung ben÷tigen wir eine flexible Markierung. Das hei▀t, der Anwender soll durch die Eingabe der Zellenadresse die Markierung selbst festlegen k÷nnen. LΣ▀t sich die Markierung per Makro erledigen? Ja, das ist m÷glich. Die L÷sung erfolgt in zwei Schritten. Im ersten Schritt lesen Sie die vom Benutzer festgelegten Bereichsinformation aus. Dazu mⁿssen Sie wissen, wo er diese Informationen eingibt. Im zweiten Schritt benutzen Sie diese Informationen, um mit der Methode SELECT des RANGE-Objekts den eingegebenen Bereich zu markieren. Das Objekt RANGE erlaubt den Zugriff auf einen definierbaren Bereich. Wenn Sie die Zellen B2 und B3 fⁿr die Eingabe der ersten (links oben) und letzten Zelle (rechts unten) des Bereichs benutzen, k÷nnte eine L÷sung folgenderma▀en aussehen: Sub MarkiereBeliebigenBereich ()╢ æGrenzen ermitteln╢ ErsteZelle = ActiveSheet. Cells (2, 2).Value╢ LetzteZelle = ActiveSheet. Cells (3, 2).Value╢ æDen Bereich markieren╢ ActiveSheet.Range (ErstZelle, LetzteZelle).Select╢ End Sub╢ZunΣchst weist das Makro der Variablen ErsteZelle den Inhalt der Zelle B2 zu. Analog erfolgt die Zuweisung des Bereich-Endes an LetzteZelle. Danach legen Sie mit den beiden Variablen die Grenzen des RANGE-Objekts fest und markieren den entstandenen Bereich der Methode SELECT. Jetzt k÷nnen Sie den ausgewΣhlten Bereich ⁿber das SELECTION-Objekt ansprechen. Dabei handelt es sich um einen Objektbezeichner, der immer auf den gerade ausgewΣhlten Bereich verweist. Beachten Sie, da▀ Sie zwar bei der Arbeit mit Excel einen Bereich markieren, bevor Sie ihn bearbeiten, dies bei VBA aber nicht n÷tig ist. Um etwa mit einem Makro einen Bereich zu kopieren, reicht folgende Anweisung: Sub CopyA1 ()╢ ActiveSheet.Range (ôA1ô).Copy╢ End Sub╢Die Methode COPY kopiert die Zelle A1 in die Zwischenablage. Eine Markierung ist auch fⁿr alle anderen Bearbeitungen nicht notwendig. |
![]() |