ここがそのような質問をする場所かどうかはわかりませんが、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に詳しい方、教えていただけると助かります。