Also:
ich habe Excel 2003 und erstelle eine "benutzerdefinierte Funktion" mit folgendem VBA Code (da is auch die Berechnung drin....
Public Function Interleaved_2_of_5(Zahl As Range) As Variant Dim intIndex As Integer Dim lngSum As Long Dim blnSwitch As Boolean If IsNumeric(Zahl.Text) Then For intIndex = Len(Zahl.Text) To 1 Step -1 If Not blnSwitch Then lngSum = lngSum + CInt(Mid$(Zahl.Text, intIndex, 1)) * 3 Else lngSum = lngSum + CInt(Mid$(Zahl.Text, intIndex, 1)) End If blnSwitch = Not blnSwitch Next lngSum = lngSum Mod 10 If CBool(Len(Zahl.Text) + Len(CStr(lngSum)) Mod 2) Then Interleaved_2_of_5 = CDbl(Zahl.Text & "0" & CStr(lngSum)) Else Interleaved_2_of_5 = CDbl(Zahl.Text & CStr(lngSum)) End If ElseIf Not IsEmpty(Zahl.Value) Then Interleaved_2_of_5 = "Keine Zahl !" End If End Function
So. Die Benutzerdefinierte Funktion wird auch erkannt und ich kann Sie nutzen. nur die Prüfsumme funktioniert nicht so recht.
Habe ein BSP: 0030449299002030 --> Prüfsumme ist 05 (also nur 5, aber da 2of5 Interleaved Modulo 10 nur grade stellen macht, setz ich da ne 0 davor)
aber wenn ich das mitn Excel mach bekomme ich das hier raus: 003044929900203000
die beiden nullen davor müssen sein (systembarcode zum abscannen) aber wo ist bitte mein Fehler wegen dem Prüfcode?
Hoffe mir ist zu helfen =)
lg
Tommy
Dieser Beitrag wurde von Thomynator bearbeitet: 28. Oktober 2010 - 12:00