Function EAN13cd(Base As Variant) As Integer z = 0: Odd = True For x = Len(Base) To 1 Step -1 If Odd Then z = z + Mid(Base, x, 1) * 3 Odd = False Else z = z + Mid(Base, x, 1 Odd = True End If Next EAN13cd = 10 - z Mod 10 If EAN13cd = 10 Then EAN13cd = 0 End Function
Ако на някой му се наложи подобно нещо, ето го и решение. Като недостатък може да се определи, че показва само цифрата и след това трябва да се използва CONCATENATE за да се събере самия код. Получава се следното нещо:
непълен баркод | пресметната цифра
123456789 | 5
След CONCATENATE се получава самия баркод: 1234567895 (примерно)
Самия макрос може да се доработи и да изкара направо готовия код