Share via


Verwenden von Ereignissen mit dem QueryTable-Objekt

Bevor Sie Ereignisse mit dem QueryTable-Objekt verwenden können, müssen Sie zunächst ein Klassenmodul erstellen und ein QueryTable-Objekt mit Ereignissen deklarieren. Angenommen, Sie haben ein Klassenmodul erstellt und mit ClsModQTdem Namen benannt. Dieses Modul enthält den folgenden Code:

Public WithEvents qtQueryTable As QueryTable

Nachdem Sie das neue Objekt mithilfe von -Ereignissen deklariert haben, wird es im Klassenmodul im Listenfeld Objekt angezeigt.

Bevor die Prozeduren ausgeführt werden können, müssen Sie jedoch das deklarierte Objekt im Klassenmodul mit dem angegebenen QueryTable-Objekt verbinden. Sie können dazu den folgenden Code im Klassenmodul eingeben:

Sub InitQueryEvent(QT as Object) 
 Set qtQueryTable = QT 
End Sub

Nachdem die Initialisierungsprozedur ausgeführt wurde, zeigt das im Klassenmodul deklarierte Objekt auf das angegebene QueryTable-Objekt. Sie können das Ereignis in einem Modul initialisieren, indem Sie das Ereignis aufrufen. In dem folgenden Beispiel wird die erste Abfragetabelle im aktiven Arbeitsblatt mit dem qtQueryTable-Objekt verbunden.

Dim clsQueryTable as New ClsModQT 
 
Sub RunInitQTEvent 
 clsQueryTable.InitQueryEvent _ 
 QT:=ActiveSheet.QueryTables(1) 
End Sub

Sie können in der Klasse des Objekts weitere Ereignisprozeduren schreiben. Wenn Sie im Feld Objekt auf das neue Objekt klicken, werden die gültigen Ereignisse für dieses Objekt im Listenfeld Prozedur angezeigt.

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.