Schönen, guten Abend!
ich habe das Problem, das ich in meinem VB-Programm diese Fehlermeldung "Laufzeitfehler '13': Typen unverträglich" erhalte und nicht weiß woher sie kommt. Der Fehler ist ja relativ häufig und mir kommt es so vor, dass es immer irgendwie andere Gründe gibt.
Ich hoffe, jemand findet den Grund und kann mir helfen!
Public Sub cmdStart_Click()
Dim Nummer As String, VNummer As String, Pruefz As Integer, Summe As Single
Dim quersumme As Variant, Ziffer As Single, n As Single, Summand As Single
Dim A As Variant, Produkt As Single, Spezial As Single
Dim EndSumme As Single, zahl As Variant
VNummer = Cells(2, 3).Value
Nummer = Mid(VNummer, 1, 7)
Debug.Print Nummer
n = Len(Nummer)
Summand = 8
A = Array(128, 64, 32, 16, 8, 4, 2)
For Ziffer = 1 To n
Summand = Summand - 1
Summe = Mid(Nummer, Ziffer, 1) + Summand
Produkt = (Mid(Nummer, Ziffer, 1) Mod 10) * A(Ziffer)
Spezial = quersumme(quersumme(Produkt))
EndSumme = EndSumme + Spezial
Next
Pruefz = 10 - (EndSumme Mod 10)
Select Case (Pruefz)
Case 0
Cells(3, 3).Value = "keine Beantstandung"
Case 1
Cells(3, 3).Value = "Prüfziffer enthält ungültige Zeichen"
Case 2
Cells(3, 3).Value = "Prüfziffer muss achtstellig sein"
Case 3
Cells(3, 3).Value = "Prüfziffer ist falsch"
End Select
End Sub
_________________________________________________________
Function quersumme(ByVal zahl As Long) As Long
If zahl < 0 Then Exit Function
quersumme = 0
Do
quersumme = quersumme + zahl Mod 10
zahl = zahl 10
Loop Until zahl = 0
End Function
Danke und Gruß,
Froderik
|