VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: OLEObjects-Auflistungsobjekt

Sheets-Auflistung
OLEObjects-Auflistung (OLEObject-Objekt)
Borders-Auflistung (Border-Objekt)
Interior-Objekt

Eine Auflistung aller OLEObject-Objekte in dem angegebenen Tabellenblatt. Jedes OLEObject-Objekt stellt ein ActiveX-Steuerelement oder ein verknüpftes bzw. eingebettetes OLE-Objekt dar.

Verwenden der OLEObjects-Auflistung

Verwenden Sie die OLEObjects-Methode, um die OLEObjects-Auflistung zurückzugeben. Im folgenden Beispiel werden alle OLE-Objekte des ersten Tabellenblattes ausgeblendet.

Worksheets(1).OLEObjects.Visible = False

Verwenden Sie die Add-Methode, um ein neues OLE-Objekt zu erstellen und zur OLEObjects-Auflistung hinzuzufügen. Im folgenden Beispiel wird ein neues OLE-Objekt erstellt, das die Bitmap-Datei arcade.bmp darstellt und zum ersten Tabellenblatt hinzufügt.

Worksheets(1).OLEObjects.Add FileName:="arcade.bmp"

Im folgenden Beispiel wird ein neues ActiveX-Steuerelement (ein Listenfeld) erstellt und zum ersten Tabellenblatt hinzugefügt.

Worksheets(1).OLEObjects.Add ClassType:="Forms.ListBox.1"

Weitere Informationen finden Sie unter Verwenden von ActiveX-Steuerelementen in Tabellenblättern.

Anmerkungen

Ein ActiveX-Steuerelement in einem Tabellenblatt verfügt über zwei Namen: den Namen der das Steuerelement enthaltenden Form, der beim Anzeigen des Blatts im Feld Name angezeigt wird, sowie den Codenamen für das Steuerelement, der im Fenster Eigenschaften in der Zelle rechts neben (Name) angezeigt wird. Beim erstmaligen Hinzufügen eines Steuerelements zu einem Blatt, sind Formname und Codename identisch. Wenn Sie jedoch den Formnamen oder den Codenamen ändern, wird der andere Name nicht automatisch entsprechend geändert.

Sie verwenden den Codenamen eines Steuerelements in den Namen der entsprechenden Ereignisprozeduren. Wenn Sie jedoch ein Steuerelement aus der Shapes- oder der OLEObjects-Auflistung für ein Blatt zurückgeben möchten, müssen Sie den Formnamen und nicht den Codenamen verwenden, um sich auf das Steuerelement anhand des Namens zu beziehen. Nehmen Sie beispielsweise an, dass Sie zu einem Blatt ein Kontrollkästchen hinzufügen und sowohl der Standardformname als auch der Standardcodename "CheckBox1" lauten. Wenn Sie anschließend den Codenamen des Steuerelements ändern, indem Sie chkFinished im Fenster Eigenschaften neben (Name) eingeben, müssen Sie in den Namen von Ereignisprozeduren "chkFinished" verwenden. Sie müssen jedoch weiterhin "CheckBox1" verwenden, um das Steuerelement aus der Shapes- oder der OLEObject-Auflistung zurückzugeben, wie im folgenden Beispiel gezeigt.

Private Sub chkFinished_Click()
    ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub