Excel-VBA-Anwendungsobjekt
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.
-
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.
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Sie können dies überprüfen, auf Datei, indem Sie auf, Optionen, Formeln.
-
Nun, wenn Sie den Wert der Zelle A1 ändern, wird der Wert der Zelle B1 nicht neu berechnet.
Sie können manuell die Arbeitsmappe neu berechnen, indem Sie F9 drücken.
-
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