Das This-Objekt ist eines der wichtigsten Konzepte in der Programmiersprache VBA für Excel. Es stellt einen Verweis auf die aktuelle Instanz eines Objekts dar und ermöglicht den Zugriff auf die Daten und Methoden dieses Objekts.
In diesem Tutorial werden wir uns mit der Verwendung des This-Objekts in VBA befassen, um mit verschiedenen Excel-Objekten wie Arbeitsmappen, Arbeitsblättern, Bereichen und anderen zu arbeiten. Wir werden uns die grundlegenden Eigenschaften und Methoden des This-Objekts ansehen und Beispiele für die Verwendung dieses Objekts zur Lösung verschiedener Probleme zeigen.
Ein Beispiel: angenommen, Sie arbeiten mit einem VBA-Makro, das den Wert einer bestimmten Zelle im aktiven Arbeitsblatt ändern soll. Anstatt den Namen des Arbeitsblatts explizit anzugeben, können Sie das This-Objekt verwenden, um auf das aktuelle Arbeitsblatt zu verweisen und die entsprechende Methode aufzurufen, um den Zellenwert zu ändern.
In diesem Handbuch werden wir verschiedene Szenarien für die Verwendung des This-Objekts in Excel-VBA-Code untersuchen, damit Sie effizienter mit den Daten und Objekten in Ihren Arbeitsmappen arbeiten können.
Excel VBA: This-Objekt
Das Objekt »This" VBA stellt einen Verweis auf das aktuelle Objekt oder das aktuelle Codemodul dar. Es kann verwendet werden, um auf Eigenschaften, Methoden und Ereignisse eines Objekts zuzugreifen und auf Variablen und Prozeduren eines Codemoduls zuzugreifen.
Das Objekt "This" hat je nach Verwendungskontext unterschiedliche Bedeutungen. In einigen Fällen verweist es auf das aktuelle Objekt, z. B. auf die aktive Arbeitsmappe oder das Excel-Arbeitsblatt, auf die aktive Zelle oder auf ein bestimmtes Benutzeroberflächenelement. In anderen Fällen, in denen «This» in einem Codemodul oder Klassenmodul verwendet wird, verweist es auf das Codemodul oder die Klasse selbst.
Beispiel für die Verwendung von »This" in VBA:
Sub Button_Click()' Обрабатываем событие нажатия кнопкиMsgBox "Нажата кнопка"Debug.Print ThisWorkbook.NameEnd SubSub Worksheet_SelectionChange(ByVal Target As Range)' Обрабатываем событие изменения выделенного диапазонаMsgBox "Изменен выделенный диапазон"Debug.Print This.NameEnd SubSub Test()' Используем «This» для обращения к переменной в модуле кодаDim name As Stringname = "John"Debug.Print This.nameEnd Sub
Im ersten Beispiel behandeln wir das Schaltflächenereignis, bei dem eine Meldung angezeigt wird und der Name der aktiven Excel-Arbeitsmappe angezeigt wird. Im zweiten Beispiel behandeln wir das Änderungsereignis des ausgewählten Bereichs in einem Arbeitsblatt und geben eine Nachricht aus und zeigen den Namen des aktiven Arbeitsblatts an. Im dritten Beispiel verwenden wir »This«, um auf die Variable »name" im Codemodul zuzugreifen und ihren Wert auszugeben.
Das «This» -Objekt bietet eine bequeme Möglichkeit, auf das aktuelle Objekt oder das aktuelle Codemodul in VBA zuzugreifen. Es ermöglicht eine flexiblere Manipulation von Daten und Aktionen in einem Programm unter Berücksichtigung des Verwendungskontexts.
Abschnitt 1: Grundlagen zur Verwendung des This-Objekts
In Excel VBA ist das This-Objekt ein Verweis auf das aktuelle Objekt oder Modul, in dem es verwendet wird. Jedes Objekt und jedes Modul in VBA hat Zugriff auf das This-Objekt, mit dem auf die Eigenschaften und Methoden dieses Objekts zugegriffen werden kann.
Das This-Objekt ist besonders nützlich, wenn Sie auf Eigenschaften oder Methoden innerhalb eines Objekts oder Moduls verweisen müssen, um auf andere Teile des Codes oder Variablen zuzugreifen, die Teil dieses Objekts sind.
Beispielsweise können Sie innerhalb eines Worksheet-Objekts mit dem This-Objekt auf die Eigenschaften und Methoden dieses Objekts zugreifen. Auf diese Weise können Sie einfach Aktionen für das aktuelle Arbeitsblatt ausführen oder auf Zellen und Bereiche zugreifen, ohne explizit ein Worksheet- Objekt anzugeben.
Die Verwendung eines This-Objekts erleichtert auch das Lesen und Verstehen des Codes, da das hervorgehobene Wort This explizit angibt, auf welches Objekt oder Modul Sie verweisen. Dies ist besonders wichtig, wenn in Ihrem Projekt mehrere Objekte oder Module mit demselben Namen vorhanden sind.
Das This-Objekt kann auch in Klassenmodulen verwendet werden, um auf die Eigenschaften und Methoden dieser Klasse zuzugreifen. Es ermöglicht einem Klassenobjekt, auf seine eigenen Eigenschaften und Methoden sowie auf alles, was es enthält, zuzugreifen.
Abschließend ist das This-Objekt ein leistungsfähiges Werkzeug in Excel VBA, das den Zugriff auf das aktuelle Objekt oder Modul im Code ermöglicht. Es macht den Code verständlicher, erleichtert die Interaktion mit anderen Teilen des Codes und erleichtert das Lesen und Verstehen des Codes.
Beispiele für die Verwendung des This-Objekts in Excel VBA
Das This-Objekt in Excel VBA ist ein Verweis auf die aktuelle Instanz einer Klasse oder eines Moduls und kann zum Zugriff auf die Eigenschaften und Methoden dieser Instanz verwendet werden. In diesem Abschnitt werden wir einige Beispiele für die Verwendung des This-Objekts in Excel VBA betrachten.
-
Verwenden Sie This, um auf die Eigenschaften eines Formulars oder Arbeitsblatts zuzugreifen. Wenn Sie mit Formularen oder Arbeitsblättern in Excel VBA arbeiten, können Sie das This-Objekt verwenden, um auf ihre Eigenschaften und Methoden zuzugreifen. Um beispielsweise auf die Caption-Eigenschaft eines Formulars zuzugreifen, können Sie den folgenden Code verwenden:
MsgBox This.Caption
Sub MySub(ByRef myParam As String)MsgBox "Значение параметра: " & myParamEnd SubSub MyOtherSub()Dim myVar As StringmyVar = "Привет от объекта This!"This.MySub myVarEnd Sub
Class MyClassPublic Sub SayHello()MsgBox "Привет от объекта This!"End SubEnd Class
Um die sayHello-Methode aufzurufen, können Sie eine Instanz der Klasse erstellen und ein This-Objekt verwenden:
Sub MySub()Dim myObject As New MyClassThis.SayHelloEnd Sub
Alle diese Beispiele zeigen die Bedeutung des This-Objekts in Excel VBA und seine Flexibilität bei der Arbeit mit Klassen, Formularen und Arbeitsblättern. Entwickler können das This-Objekt verwenden, um auf den Kontext, die Methoden und Eigenschaften der aktuellen Instanz zuzugreifen, wodurch die Programmierung in VBA bequemer und effizienter wird.
Abschnitt 2: Erweiterte Funktionen des This-Objekts
Die erweiterten Funktionen des This-Objekts ermöglichen es Entwicklern, es nicht nur für die Arbeit mit einem einzelnen Objekt zu verwenden, sondern auch für die Interaktion mit anderen Objekten, indem sie komplexe Makros erstellen und Routinevorgänge automatisieren.
Mit einem This-Objekt können Sie beispielsweise mithilfe der Syntax This auf Eigenschaften und Methoden eines anderen Objekts zugreifen.. . Auf diese Weise können Sie Aktivitätsketten erstellen, indem Sie nacheinander auf Objekte und deren Eigenschaften und Methoden zugreifen.
Darüber hinaus können Sie mit dem This-Objekt den Wert einer Eigenschaft oder Methode an ein anderes Objekt übergeben. Beispielsweise können Sie den Eigenschaftswert eines Objekts mithilfe der Syntax für ein anderes Objekt an eine Methode eines anderen Objekts übergeben. = This. . Dies kann nützlich sein, wenn Sie den Eigenschaftswert eines Objekts an einer anderen Stelle im Programm verwenden möchten.
Das This-Objekt kann auch verwendet werden, um Ereignisse zu erstellen und Ereignisse anderer Objekte zu behandeln. Sie können beispielsweise eine Methode in einem Objekt erstellen, die aufgerufen wird, wenn ein bestimmtes Ereignis in einem anderen Objekt auftritt. Um dies zu tun, binden Sie die Methode des This-Objekts mithilfe der Syntax für ein anderes Objekt an das Ereignis eines anderen Objekts. = AddressOf This. .
Die erweiterten Funktionen des This-Objekts ermöglichen es Entwicklern daher, es effektiv für die Arbeit mit Objekten zu verwenden und komplexere Makros und Skripts in Excel VBA zu erstellen.
Beispiele für die Anwendung des This-Objekts in komplexen Szenarien
Das This-Objekt in der Programmiersprache VBA ist ein Verweis auf die aktuelle Instanz eines Objekts. Es ermöglicht Ihnen, mit den Daten und Methoden dieses Objekts innerhalb seines eigenen Codes zu arbeiten. Betrachten Sie einige Beispiele für die Anwendung des This-Objekts in komplexen Szenarien.
1. Verwenden von This, um auf freigegebene Daten zuzugreifen
Eine praktische Aufgabe besteht darin, mit gemeinsamen Daten zwischen verschiedenen Modulen und Prozeduren zu arbeiten. Mit dem This-Objekt können Sie die Werte von Variablen innerhalb eines Objekts speichern und abrufen. Wenn Sie beispielsweise eine Klasse haben, die ein Formular darstellt, können Sie die Daten in einer Variablen des This-Objekts speichern und von verschiedenen Methoden darauf zugreifen.
Private Sub btnSave_Click()This.Name = "John"This.Age = 30End SubPrivate Sub btnDisplay_Click()MsgBox "Name: " & This.Name & vbNewLine & "Age: " & This.AgeEnd Sub
2. Verwenden Sie This, um auf andere Methoden eines Objekts zuzugreifen
Mit dem This-Objekt können Sie andere Methoden eines Objekts innerhalb seiner eigenen Methoden aufrufen. Zum Beispiel können Sie eine Methode haben, die eine komplexe Operation ausführt, und eine andere Methode, die das Ergebnis anzeigt. Sie können das This-Objekt verwenden, um die erste Methode von der zweiten aufzurufen.
Private Sub Calculate()' Сложная операция вычисленияThis.Result = 10End SubPrivate Sub DisplayResult()' Отображение результатаMsgBox "Result: " & This.ResultEnd SubPrivate Sub btnCalculate_Click()This.CalculateThis.DisplayResultEnd Sub
3. Verwenden Sie This, um auf andere Eigenschaften eines Objekts zuzugreifen
Mit dem This-Objekt können Sie auf andere Eigenschaften des Objekts zugreifen. Zum Beispiel können Sie eine Klasse haben, die eine Datentabelle darstellt, und diese Klasse kann Eigenschaften wie die Anzahl der Zeilen oder Spalten aufweisen. Sie können das This-Objekt verwenden, um von anderen Methoden auf diese Eigenschaften zuzugreifen.
Public Property Get ColumnCount() As IntegerColumnCount = This.Cells(1, 1).CurrentRegion.Columns.CountEnd PropertyPublic Property Get RowCount() As IntegerRowCount = This.Cells(1, 1).CurrentRegion.Rows.CountEnd PropertyPublic Sub DisplayTableInfo()MsgBox "Table has " & This.RowCount & " rows and " & This.ColumnCount & " columns."End Sub
Das Anwenden eines This-Objekts in komplexen Szenarien ist ein leistungsfähiges Werkzeug, das den Zugriff auf die Daten und Methoden des aktuellen Objekts erleichtert. Es ermöglicht Ihnen, den Code besser organisiert und leichter zu verstehen zu machen.