Hallo zusmmen,
ich bin völlig neu was VBA angeht und habe ein kleines Problem.
Ich möchte für eine Vielzahl von Steuer-ID die Prüfziffer berechnen bzw. kontrollieren.
Für eine einzelne ID habe ich das soweit auch hinbekommen, die ID in Spalte 1, die Prüfziffer in Spalte 2. Hier der Code soweit.
Option Explicit
Sub Pruefzi_SteuerID()
Dim pp As Byte, lngSum As Long, lngProd As Long
For pp = 1 To 10
lngSum = (lngProd + Mid(Cells(1, 1), pp, 1)) Mod 10
If lngSum Then
lngProd = (lngSum * 2) Mod 11
Else
lngProd = 9
End If
Next pp
Cells(1, 2) = IIf(lngProd = 1, 0, 11 - lngProd)
End Sub
Wenn ich aber nun probiere das ganze als Schleife zu programmieren um mehrere untereinander stehende ID's zu prüfen funktioniert das ganze nicht so wirklich. Der erste Eintrag stimmt, aber alle Folgenden leider nicht.
Ich vermute mein Fehler ist recht simpel, aber kenn mich leider noch nicht allzu gut mit VBA aus. Hat jemand eine Idee?
Hier mein Versuch für mehrere ID's:
Option Explicit
Sub Pruefzi_SteuerID()
Dim pp As Byte, lngSum As Long, lngProd As Long
Dim i As Integer
For i = 1 To 137
For pp = 1 To 10
lngSum = (lngProd + Mid(Cells(i, 1), pp, 1)) Mod 10
If lngSum Then
lngProd = (lngSum * 2) Mod 11
Else
lngProd = 9
End If
Next pp
Cells(i, 2) = IIf(lngProd = 1, 0, 11 - lngProd)
Next i
End Sub
|