Quersumme in Excel per VBA berechnen
Schritt-für-Schritt-Anleitung
-
Öffne Excel und erstelle eine neue Arbeitsmappe oder öffne eine bestehende.
-
Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke im Projektfenster mit der rechten Maustaste auf
VBAProject (DeineDatei)
.
- Wähle
Einfügen
> Modul
.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub Quer()
Dim LR As Long, z As Long
Dim i As Integer, j As Integer
Dim QSt As Integer, QSg As String
LR = Cells(Rows.Count, "C").End(xlUp).Row 'letzte Zeile der Spalte
For z = 1 To LR
For i = 0 To 3
For j = 1 To 5
QSt = QSt + Mid(Cells(z, 3), (i * 5) + j, 1)
Next j
QSg = QSg & QSt
QSt = 0
Next i
Cells(z, 4) = QSg
QSg = ""
Next z
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus:
- Drücke
ALT + F8
, wähle Quer
und klicke auf Ausführen
.
Dieser Code geht die Werte in der Spalte C durch, bildet die Quersumme in Gruppen von fünf Ziffern und gibt das Ergebnis in Spalte D aus.
Häufige Fehler und Lösungen
-
Fehler: "Komponente nicht gefunden"
Lösung: Stelle sicher, dass du das richtige Arbeitsblatt aktiv hast, bevor du das Makro ausführst.
-
Fehler: "Typ nicht definiert"
Lösung: Überprüfe, ob alle Variablen korrekt deklariert sind und keine Tippfehler im Code vorhanden sind.
-
Fehler: Quersumme wird nicht berechnet
Lösung: Stelle sicher, dass die Werte in Spalte C genau 20-stellig sind.
Alternative Methoden
Falls du kein VBA verwenden möchtest, kannst du die Quersumme auch mit einer Excel-Formel berechnen. Hier ein Beispiel, wie du die Quersumme von 12, 16 oder 20 mit einer Kombination von Funktionen erstellen kannst:
=SUMPRODUCT(MID(A1, {1,6,11,16}, 5)*1)
Diese Formel summiert die Werte in den angegebenen Positionen und kann leicht angepasst werden, um die Quersumme für andere Stellen zu berechnen.
Praktische Beispiele
-
Beispiel 1:
Wenn du die Quersumme von 21985478523654785412
berechnen möchtest, wird das Ergebnis 25262520
sein, da:
- Quersumme von
21985
= 25
- Quersumme von
47852
= 26
- Quersumme von
36547
= 25
- Quersumme von
85412
= 20
-
Beispiel 2:
Um die Quersumme von 12345678901234567890
zu bilden, kannst du die oben genannten Schritte im VBA-Code oder in einer Formel durchführen.
Tipps für Profis
-
Verwende benutzerdefinierte Funktionen: Wenn du oft Quersummen berechnen musst, kannst du eine benutzerdefinierte Funktion in VBA erstellen, die die Quersumme für beliebige Längen und Positionen berechnet.
-
Optimierung des Codes: Reduziere die Anzahl der Schleifen, um die Effizienz zu steigern, insbesondere bei großen Datenmengen.
-
Dokumentation: Kommentiere deinen Code gut, damit du später leichter nachvollziehen kannst, was jeder Teil macht.
FAQ: Häufige Fragen
1. Wie kann ich die Quersumme für andere Zahlenlängen berechnen?
Du kannst die Positionen in der VBA-Schleife oder in der Excel-Formel anpassen, um Quersummen für unterschiedliche Längen zu erstellen.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren. Achte darauf, dass die Makros aktiviert sind.