Excel VBA-Anwendungsobjekt - Einfache Excel-Makros

Inhaltsverzeichnis

ArbeitsblattFunktion | Bildschirmaktualisierung | AnzeigenAlerts | Berechnung

Die Mutter aller Objekte ist Excel selbst. Wir nennen es die Anwendungsobjekt. Das Anwendungsobjekt bietet Zugriff auf viele Excel-bezogene Optionen.

ArbeitsblattFunktion

Sie können die WorksheetFunction-Eigenschaft in Excel VBA um auf Excel-Funktionen zuzugreifen.

1. Platzieren Sie beispielsweise eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgende Codezeile hinzu:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

Wenn Sie im Arbeitsblatt auf die Befehlsschaltfläche klicken, berechnet Excel VBA den Durchschnitt der Werte in Zelle A1 und Zelle A2 und platziert das Ergebnis in Zelle A3.

Hinweis: Verwenden Sie anstelle von Application.WorksheetFunction.Average einfach WorksheetFunction.Average. Wenn Sie sich die Bearbeitungsleiste ansehen, können Sie sehen, dass die Formel selbst nicht in Zelle A3 eingefügt wird. Um die Formel selbst in Zelle A3 einzufügen, verwenden Sie die folgende Codezeile:

Range("A3").Value = "=DURCHSCHNITT(A1:A2)"

Bildschirmaktualisierung

Manchmal kann es nützlich sein, die Bildschirmaktualisierung während der Ausführung von Code zu deaktivieren (um Flackern zu vermeiden). Dadurch wird Ihr Code schneller ausgeführt.

1. Platzieren Sie beispielsweise eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgenden Codezeilen hinzu:

Dim i As Integer
Für i = 1 bis 10000
Bereich("A1").Wert = i
Als nächstes

Wenn Sie auf die Befehlsschaltfläche im Arbeitsblatt klicken, zeigt Excel VBA jeden Wert in einem winzigen Bruchteil einer Sekunde an, und dies kann einige Zeit dauern.

2. Um den Vorgang zu beschleunigen, aktualisieren Sie den Code wie folgt.

Dim i As Integer
Application.ScreenUpdating = False
Für i = 1 bis 10000
Bereich("A1").Wert = i
Als nächstes
Application.ScreenUpdating = True

Dadurch wird Ihr Code viel schneller ausgeführt und Sie sehen nur das Endergebnis (10000).

Benachrichtigungen anzeigen

Sie können Excel VBA anweisen, beim Ausführen von Code keine Warnungen anzuzeigen.

1. Platzieren Sie beispielsweise eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgende Codezeile hinzu:

ActiveWorkbook.Schließen

Wenn Sie im Arbeitsblatt auf die Befehlsschaltfläche klicken, schließt Excel VBA Ihre Excel-Datei und fordert Sie auf, die vorgenommenen Änderungen zu speichern.

2. Um Excel VBA anzuweisen, diese Warnung beim Ausführen von Code nicht anzuzeigen, aktualisieren Sie den Code wie folgt.

Application.DisplayAlerts = False
ActiveWorkbook.Schließen
Application.DisplayAlerts = True

Als Ergebnis schließt Excel VBA Ihre Excel-Datei, ohne Sie aufzufordern, die vorgenommenen Änderungen zu speichern. Alle Änderungen gehen verloren.

Berechnung

Standardmäßig ist die Berechnung auf automatisch eingestellt. Daher berechnet Excel die Arbeitsmappe jedes Mal automatisch neu, wenn sich ein Wert ändert, der sich auf eine Formel auswirkt. Wenn Ihre Arbeitsmappe viele komplexe Formeln enthält, können Sie Ihr Makro beschleunigen, indem Sie die Berechnung auf manuell setzen.

1. Platzieren Sie beispielsweise eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgende Codezeile hinzu:

Application.Calculation = xlCalculationManual

Wenn Sie im Arbeitsblatt auf die Befehlsschaltfläche klicken, legt Excel VBA die Berechnung auf manuell fest.

2. Sie können dies überprüfen, indem Sie auf Datei, Optionen, Formeln klicken.

3. Wenn Sie nun den Wert von Zelle A1 ändern, wird der Wert von Zelle B1 nicht neu berechnet.

Sie können die Arbeitsmappe manuell neu berechnen, indem Sie F9 drücken.

4. In den meisten Situationen stellen Sie die Berechnung am Ende Ihres Codes wieder auf automatisch ein. Fügen Sie dazu einfach die folgende Codezeile hinzu.

Application.Calculation = xlCalculationAutomatic

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave