Objektvariable - ein mächtiges Werkzeug
Mit Objektvariablen machen Sie ihren Code übersichtlicher und benutzerfreundlicher, denn Objektvariable können anscheinend ganze Excelobjekte aufnehmen.
Erinnern Sie sich noch an einen langen unhandlichen Ausdruck wie ActiveWorkbook.Worksheets("Tabelle1").Range("B10"), der letztlich nur eine bestimmte Zelle beschrieb? Das kann über eine Objektvariable wesentlich verkürzt werden, indem Sie erklären, dass solch eine Variable einfach diesen Ausdruck aufnimmt.
Beispiel:
Sub bsp1()
Dim Quelle As Object
Dim Ziel As Object
Set Quelle = ActiveWorkbook. _
Worksheets("Tabelle1").Range("B10")
Set Ziel = ActiveWorkbook. _
Worksheets("Tabelle3").Range("C15")
Quelle = InputBox("Geben Sie irgendetwas ein!")
Ziel = Quelle 'Toll!
Worksheets("Tabelle3").Activate
End Sub
Rufen Sie doch das Beispiel bsp1 aus der beigefügten Datei Lösungen_Excelobjekte auf.
Eine Anweisung wie Dim Quelle As Object definiert eine Variable zur scheinbaren Aufnahme eines ganzen Objekts.
In Wirklichkeit nennt man diese Vereinbarung einen Zeiger(Pointer), da letztlich vom Objektnamen aus auf ein Objekt gezeigt wird.
Deshalb wird einer Objektvariable ein Wert mit Set name= ... zugewiesen.
In der Wirkung erscheint es so, als ob die Variable ein ganzes Objekt aufgenommen hätte.
Die Vereinbarung Dim Ziel As Object kann noch günstiger notiert werden, da die Variable letztlich einen Bereich(Range) aufnehmen soll, wird sie auch ausdrücklich als eine Range-Variable definiert.
Dim Quelle As Range.
Das geht recht einfach, denn nach dem Schlüsselwort As und folgendem Leerzeichen werden alle verfügbaren Variablentypen in einer Liste zur Auswahl angezeigt.
Verwenden aller Objekttypen
Einfach auf den gewünschten Variablentyp klicken und die Vereinbarung ist fertig.
Das hat viele Vorteile. Notieren Sie bitte deshalb folgendes an das Ende der obigen Prozedur:
Verwenden einer explizit vereinbarten Objektvariablen
Bei einer expliziten Objektvereinbarung weiß der VBA-Editor sofort, welche Methoden und Eigenschaften das Objekt der Objektvariablen hat; Sie müssen nicht mehr in der Hilfe suchen. Zudem wird das Codieren wesentlich einfacher.
Die Eigenschaft value ist der Inhalt einer Zelle. Value ist i.A. Standard und kann deshalb weggelassen werden.
Übrigens
Mit Objektvariablen können Sie auch zu anderen Applikationen zugreifen, z.B. auf Microsoft Word. Damit steuern Sie Dokumente von Excel aus. Wie das geht, erfahren Sie in Teil 9.
Mitglied werden
Als zahlendes Mitglied von akademie.de haben Sie vollen Zugriff auf alle Inhalte und können alle PDF-Dateien, Checklisten, Mustervorlagen und Anwendungen herunterladen.
Sind Sie sich noch unsicher? Dann wählen Sie die Option “akademie.de kostenlos testen”. So können Sie sich 14 Tage in Ruhe umschauen. Downloads stehen Ihnen in dieser Zeit nicht zur Verfügung. Gefällt Ihnen akademie.de nicht, reicht ein formloser Widerruf per E-Mail innerhalb der ersten 14 Tage. Es entstehen für Sie keine Kosten. Widerrufen Sie nicht, erhalten Sie nach Ablauf von 14 Tagen vollen Zugriff und der Mitgliedsbeitrag wird abgebucht.
Ich bin bereits Mitglied