Die Mutter aller Objekte ist Excel selbst. Wir nennen es das Application-Objekt. Das Anwendungsobjekt ermöglicht den Zugriff auf eine Menge von Excel entsprechenden Optionen.

Work

Sie können die Work Eigenschaft in Excel VBA Zugriff Excel-Funktionen verwenden.

  1. Zum Beispiel legen Sie einen Befehlstaste auf dem Arbeitsblatt und fügen Sie die folgende Codezeile:

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

Wenn Sie auf das Befehlsschaltflächen auf dem Arbeitsblatt klicken, berechnet Excel VBA den Durchschnitt der Werte in Zellen A1 und A2 und gibt das Ergebnis in Zelle A3.

WorksheetFunction in Excel VBA

Hinweis: statt Application.WorksheetFunction.Average, einfach WorksheetFunction.Average verwenden. Wenn Sie auf der Bearbeitungsleiste anschaut, kann man sehen, dass die Formel selbst nicht in der Zelle A3 eingesetzt ist. Zum Einsetzen der Formel sich in Zelle A3, den folgenden Code Zeile:

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

ScreenUpdating

Manchmal kann es sinnvoll zu deaktivieren Bildschirmaktualisierung (um Flimmern zu vermeiden), während der Ausführung von Code. Im Ergebnis läuft der Code schneller.

  1. Zum Beispiel legen Sie einen Befehlstaste auf dem Arbeitsblatt und fügen Sie die folgenden Codezeilen:

Dim i As Integer

For i = 1 To 10000

Range("A1").Value = i

Next i

Wenn Sie auf das Befehlsschaltflächen auf dem Arbeitsblatt klicken, zeigt Excel VBA jeden Wert einen winzigen Bruchteil einer Sekunde, und dies kann einige Zeit dauern.

ScreenUpdating

  1. Um den Prozess, aktualisieren Sie den Code zu beschleunigen wie folgt.

Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000

Range("A1").Value = i

Next i

Application.ScreenUpdating = True

Als Ergebnis läuft Ihr Code viel schneller und Sie werden nur das Endergebnis (10000) sehen.

Displayalerts

Sie können Excel VBA nicht zu Anzeige Warnungen anweisen, während der Ausführung von Code.

  1. Zum Beispiel legen Sie einen Befehlstaste auf dem Arbeitsblatt und fügen Sie die folgende Codezeile:

ActiveWorkbook.Close

Wenn Sie auf den Befehlsschaltflächen auf dem Arbeitsblatt klicken, wird Excel-VBA-Excel-Datei und fordert Sie auf, die Änderungen zu speichern gemacht.

DisplayAlerts

  1. Um anweisen Excel VBA nicht diese Warnung angezeigt wird, während die Ausführung von Code, aktualisieren Sie den Code wie folgt.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

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

Berechnung

Standardmäßig ist die Berechnung auf automatisch eingestellt. Als Ergebnis neu berechnet Excel die Arbeitsmappe jedes Mal automatisch ein Wert eine Formel Änderungen zu beeinflussen. Wenn Ihre Arbeitsmappe viele komplexe Formeln enthält, können Sie das Makro, indem Sie Berechnung auf manuell beschleunigen.

  1. Zum Beispiel legen Sie einen Befehlstaste auf dem Arbeitsblatt und fügen Sie die folgende Codezeile:

Application.Calculation = xlCalculationManual

Wenn Sie auf das Befehlsschaltflächen auf dem Arbeitsblatt klicken, setzt Excel VBA Berechnung auf manuell.

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

Calculation Options

  1. Nun, wenn Sie den Wert der Zelle A1 ändern, wird der Wert der Zelle B1 nicht neu berechnet.

Manual Calculation

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

  1. In den meisten Fällen werden Sie Berechnung auf automatisch wieder am Ende des Codes festgelegt. Fügen Sie einfach diese die folgende Codezeile zu erreichen.

Application.Calculation = xlCalculationAutomatic