VBA lernen - Excel 2007/2010 (5)

Einfach auf Excel-Objekte zugreifen

Bisher noch keine Bewertungen für diesen Artikel.

Einfach auf Excel-Objekte zugreifen

Auf dieser Seite

VBA ist objektorientiert. Diese Aussage wird jetzt für Sie mit Leben erfüllt.

Aufgabe:

Zunächst öffnen Sie die Datei Lösungen_Excelobjekte.xlsm.

Sie befinden sich in "Tabelle2".

In Zelle D10 haben Sie einen beliebigen Inhalt eingegeben und die Eingabe beendet. Sorgen Sie dafür, dass diese Zelle aktiv bleibt, d.h. sie ist noch markiert.

Folgende Aktionen zeichnen Sie bitte als Makro auf:

Sie wählen "Bearbeiten" - "Kopieren".

Danach wechseln Sie in das Tabellenblatt "Tabelle3".

Dort klicken Sie auf Zelle "H8".

Jetzt fügen Sie mit "Bearbeiten" - "Einfügen" den aktuellen Inhalt der Zwischenablage in die aktive Zelle "H8".

Über die Formatsymbolleiste formatieren Sie den Inhalt der aktuellen Zelle "H8" fett.

Beenden Sie bitte die Aufzeichnung.

Diese Aktionen haben Sie in einer Prozedur aufgezeichnet, die so aussehen kann:

Sub Makro1()
' Makro1 Makro
' 
    Selection.Copy
    Sheets("Tabelle3").Select
    Range("H8").Select
    ActiveSheet.Paste
    Selection.Font.Bold = True
End Sub

Immer, wenn Sie eine beliebige Zelle in dieser Arbeitsmappe auswählen und das Makro aufrufen, wird der Inhalt der ausgewählten Zelle nach "Tabelle3" Zelle "H8" kopiert und fett dargestellt.

Nun ist diese Aktionsfolge noch nichts Weltbewegendes, aber anhand dieser soll die Philosophie (!) der Sprache VBA erklärt werden. Die Notation des objektorientierten VBA bezüglich der Bearbeitung von Objekten ist allgemein.

objekt.methode und objekt.eigenschaft=wert

  • Die Anweisung Selection.Copy besagt, dass der Inhalt der aktuellen Markierung in die Zwischenablage kopiert wird.

  • Das Objekt ist der markierte (ausgewählte) Bereich und heißt Selection. Die darauf angewandte Methode ist Copy.

  • Weiterhin wird mit Sheets("Tabelle3").Select die "Tabelle3" ausgewählt. Das Objekt ist die Tabelle3, die Methode Select.

  • Mit Range("H8").Select wird die Zelle H8 des aktuellen Arbeitsblattes ausgewählt. Das Objekt ist der Bereich Zelle H8, die Methode kennen Sie bereits.

  • ActiveSheet.Paste fügt in das Objekt ActiveSheet ab der ausgesuchten Zelle (Sie erinnern sich: H8) mit der Methode Paste den zuletzt gespeicherten Inhalt der Zwischenablage ein.

  • Im Objekt des aktuell markierten Bereiches, das Selection liefert, gibt es ein weiteres Objekt Font, das die Darstellung des Inhalts bestimmt. Dessen Eigenschaft Bold (fett) wird mit True (wahr) eingeschaltet: Selection.Font.Bold = True.

Soweit zum ersten Verständnis der Begriffe Objekt, Methode und Eigenschaft. Bitte bedenken Sie, die Methoden verschiedener Objekte sind unterschiedlich - genauso wie deren Eigenschaften.

Lassen Sie sich von der Fülle der Methoden nicht irritieren! Sie benötigen für Ihre Arbeit nur einen ganz geringen Anteil der angebotenen Möglichkeiten.

Wenn Sie den Namen bestimmter Aktionen nicht kennen, zeichnen Sie sich diese einfach zu Ihrem Erkenntnisgewinn als Makro XYZ auf. Wenn Sie die Prozedur Makro XYZ nicht mehr benötigen, können Sie es später einfach entfernen.

Unbekannte Schlüsselworte oder Parameter können Sie markieren und sich nach Drücken von <F1> in der Hilfe erklären lassen.