Публикувана в Разни трикове

Макрос за пресмятане на последната цифра на баркод EAN 13

Автор от 5

Преди време ми се наложи да пресметна последната цифра на баркод EAN 13 (те се изчислява по определена формула). Поради някаква причина бяха въведени в някаква програма без последната цифра и трябваше да се коригират и бяха няколко хиляди позиции. Този макрос свърши чудесна работа: :)

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 (примерно)

Самия макрос може да се доработи и да изкара направо готовия код

Последно променена в 16 Октомври 2013
Оценете
(1 глас)
BLOG COMMENTS POWERED BY DISQUS