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.

ArrowMain

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.

ArrowOutput

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.

ArrowSecondOutput

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]