Tabellenfunktionen in VBA-Makros mit VBA in Microsoft Excel
Wenn Sie in VBAcode auf bestimmte Arbeitsblattfunktionen wie Summe, Vlookup usw. verweisen müssen, können Sie diese direkt mithilfe des Anwendungsobjekts verwenden. Daher verwenden wir die Funktionen als – Application.WorksheetFunction.Sum oder Application.WorksheetFunction.Vlookup, wobei WorksheetFunction die Methode des Anwendungsobjekts.
ist Wenn wir Application.WorksheetFunction.
eingeben, haben wir dieses Testmakro Wir erhalten ein Popup mit dem Formelverweis unter dem Bild
Wenn Sie beispielsweise die Werte dieses Bereichs in Spalte A mit vba –
summieren möchten Lassen Sie uns eine Variable namens SalesTotal haben, die die Summe darin speichert. Um die Summe in SalesTotal zu erhalten, verwenden wir den folgenden VBA-Code im Standardmodul:
_Sub macro4 ()
Dim SalesTotal As Long SalesTotal = Application.WorksheetFunction.Sum (Bereich („A2: A6“))
MsgBox SalesTotal End Sub_ Um den obigen Code in Ihre Datei zu kopieren, * drücken Sie Alt + F11 auf der Tastatur.
-
Auf der linken Seite sehen Sie Microsoft Excel-Objekte.
-
Klicken Sie mit der rechten Maustaste und wählen Sie Einfügen.
-
Klicken Sie dann auf Modul.
-
Kopieren Sie den Code in das Codefenster rechts.
Wenn wir dieses Beispielmakro verwenden, erhalten wir eine Meldung mit dem Wert, der in Sales Total gespeichert ist und in weiteren Codezeilen im Makro verwendet werden kann.
Die Ausgabe, die wir erhalten, ist –
Wenn das SalesTotal in Zelle A7 angezeigt werden soll, können Sie die Codeline von Msgbox SalesTotal in Worksheets („Sheet1“) ändern. Range („A7“). Value = SalesTotal Da wir auch den durchschnittlichen Umsatz für diese Zahlen in Zelle benötigen A9.
Wir können den folgenden Code verwenden: __Sub macro5 ()
Verdunkeln Sie SalesTotal so lange mit Arbeitsblättern („Sheet1“)
SalesTotal = Application.WorksheetFunction.Sum (.Range („A2: A6“))
End With End Sub__ Es gibt geringfügige Änderungen an diesem Code im Vergleich zum vorherigen.
-
Anstatt eine Variable für den Durchschnitt zu verwenden, habe ich diesen Wert nach der Berechnung direkt in Zelle A9 eingetragen. Daher sehen Sie die Zeile .Range („A9“). Value = Application.WorksheetFunction.Average (.Range („A2: A6“))
-
Die msgbox-Zeile wurde entfernt.
-
Der Wert in der Variablen SalesTotal geht an Zelle A7.
-
Idealerweise können Sie dieselbe Codezeile, die für den Durchschnitt verwendet wurde, für die Summencodezeile wiederholen, indem Sie SalesTotal = Application.WorksheetFunction.Sum (.Range (“A2: A6”)) _ _.Range (“A7 ”) .Value = SalesTotal With _.Range (“ A7 ”). Value = Application.WorksheetFunction.Sum (.Range (“ A2: A6 ”)) _ Es wurde jedoch beibehalten, damit Sie die verschiedenen Möglichkeiten von verstehen können Codierung der gleichen Aufgabe. Ebenso können wir andere Funktionen verwenden, während wir Application.WorksheetFunction verwenden. Alle Funktionen, die wir direkt im Arbeitsblatt verwenden können, können wir hier verwenden.
Dies erleichtert die Verwendung der Funktionen im Code, sodass wir die erforderlichen Formeln berechnen können, ohne einen Code für die Formel erstellen zu müssen.
__ Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie Ihren Freunden auf Facebook mit. Sie können uns auch auf Twitter und Facebook folgen.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder innovieren und für Sie verbessern können. Schreiben Sie uns an [email protected]