Generieren Sie insgesamt für dynamischen Bereich mit VBA in Microsoft Excel
In diesem Artikel erstellen wir eine benutzerdefinierte Funktion, um die Summe für den Dynamikbereich zu generieren.
Die Rohdaten für diesen Artikel bestehen aus Zufallszahlen.
In diesem Beispiel möchten wir die Summe der Werte in allen Zellen in jeder Spalte berechnen. Jede Spalte hat eine andere Anzahl von Werten.
Wir haben eine benutzerdefinierte Funktion „DynaSum“ erstellt, um die Summe der Werte in allen Zellen zu berechnen.
Die benutzerdefinierte Funktion „DynaSum“ berechnet die Summe der Werte aller aufeinander folgenden Zellen. Diese Funktion summiert alle Werte, bis eine leere Zelle gefunden wird.
Wenn wir einen zusätzlichen Wert über den definierten Werten hinzufügen, werden diese Werte automatisch hinzugefügt.
Code Erklärung
Set Rng = Application.Caller Der obige Code wird verwendet, um eine Zelle mit der benutzerdefinierten Funktion als Range-Objekt zuzuweisen.
Bitte folgen Sie unten für den Code
Option Explicit Function DynaSum(Optional Rng As Range) 'Declaring variables Dim Total As Double Dim LngRow As Long Dim LngCol As Integer 'Refresh function when value in worksheet is changed Application.Volatile 'Assigning range if Range is not specified in the function If Rng Is Nothing Then Set Rng = Application.Caller End If 'Getting the column and row number LngCol = Rng.Column LngRow = Rng.Row - 1 'Looping through all the cells in the column until blank cell is encountered Do Until IsEmpty(Cells(LngRow, LngCol)) Total = Total + Cells(LngRow, LngCol) LngRow = LngRow - 1 If LngRow = 1 Then Exit Do Loop 'Getting output DynaSum = Total End Function
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]