Summieren Sie die Ziffern in einer Zelle mit der benutzerdefinierten VBA-Funktion in Microsoft Excel

Anonim

In diesem Artikel erstellen wir eine benutzerdefinierte Funktion zum Berechnen der Ziffernsumme in einer Zelle.

Beispieldaten für dieses Beispiel bestehen aus Verkaufsdaten. Jeder Agent hat ein anderes Produkt verkauft. In einer Zelle haben wir die Anzahl der verkauften Artikel, gefolgt vom Produktnamen. Wir möchten den gesamten von jedem Agenten verkauften Artikel ermitteln.

Wir haben die Funktion „SumDigits“ erstellt, um die Ziffernsumme in der Zelle zu berechnen. Diese Funktion nimmt den Zellbereich als Eingabe und gibt die Summe der Ziffern in der Zelle zurück.

Logikerklärung

Wir haben eine benutzerdefinierte Funktion „SumDigits“ erstellt, um die Ziffernsumme in einer Zelle zu berechnen. In dieser Funktion ermitteln wir die Länge der Zeichenfolge in der Zelle und durchlaufen dann eine Schleife vom ersten Zeichen bis zum letzten Zeichen in der Zeichenfolge. Dann suchen und addieren wir die in der Zeichenfolge gefundenen numerischen Werte, um die Ziffernsumme zu erhalten.

Codeerklärung

Mitte(Zahl, ich, 1)

Die Mid-Funktion wird verwendet, um die Teilzeichenfolge aus der Hauptzeichenfolge zu extrahieren. Der obige Code extrahiert jeweils ein Zeichen aus der Hauptzeichenfolge.

IsNumeric(Wert)

Die Funktion IsNumeric wird verwendet, um zu überprüfen, ob der angegebene Wert numerisch ist.

Val(Wert)

Die Val-Funktion wird verwendet, um die Zeichenfolge in einen numerischen Wert umzuwandeln.

Bitte folgen Sie unten für den Code

 Option Explizite Funktion SumDigits(Number As Variant) Dim i As Integer For i = 1 To Len(Number) If IsNumeric(Mid(Number, i, 1)) Then SumDigits = SumDigits + Val(Mid(Number, i, 1)) End If Next i End Function 

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.

Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site