我不知道这是否是提出这样一个问题的地方,但由于它与一些 VBA 脚本有关,我认为它可能会。
我一直在写这个宏函数:
Function Mod10(tl As String) As Byte
Dim c(13) As Integer
Dim er As Integer
c(13) = Mid(tl, 14, 1) * 2
c(12) = Mid(tl, 13, 1)
c(11) = Mid(tl, 12, 1) * 2
c(10) = Mid(tl, 11, 1)
c(9) = Mid(tl, 10, 1) * 2
c(8) = Mid(tl, 9, 1)
c(7) = Mid(tl, 8, 1) * 2
c(6) = Mid(tl, 7, 1)
c(5) = Mid(tl, 6, 1) * 2
c(4) = Mid(tl, 5, 1)
c(3) = Mid(tl, 4, 1) * 2
c(2) = Mid(tl, 3, 1)
c(1) = Mid(tl, 2, 1) * 2
c(0) = Mid(tl, 1, 1)
For i = 0 To 13
If c(i) > 9 Then
c(i) = CInt(Left(c(i), 1)) + CInt(Right(c(i), 1))
End If
Next
er = 0
For i = 0 To 13
er = er + c(i)
Next
Mod10 = 10 - er Mod 10
End Function
但正如您在这张图片中看到的那样:
它返回一个错误说#REF!
。我在 fx 中写这个:=Mod10(a1)
。
该脚本可在此处找到:http: //kronsell.net/fikkontrol.htm(丹麦网站)它用于计算字符串的最后一位。有点像计算 EAN-13 代码时,只是另一种计算。
如果有 VBA 或 EXCEL 知识的人能告诉我该怎么做,我将不胜感激。