Cálculo de dígitos de cheque de Modulo 43

Modulo 43

Esta es una descripción del cálculo de los dígitos de cheque según Modulo 43.

InfoActiveBarcode calcula estos dígitos de comprobación para la mayoría de los códigos automáticamente.
Esta documentación es sólo en aras de la integridad.

Cálculo de una suma de comprobación según Modulo 43:
El Código 39utiliza, por ejemplo, un dígito de verificación según Modulo 43.

En primer lugar, los números de referencia se asignan a todos los caracteres del código. Estos números de referencia se agregan a un total. Esta suma se divide por 43. El resto de esta división corresponde a la suma de comprobación, que luego se sustituye por el carácter correspondiente al número de referencia se representa.

Un ejemplo de cálculo:

Dígitos: 1 5 9 A Z
Números de referencia: 1 +5 +9 +10 +35
Suma de números de referencia: 60
Calcular suma de comprobación: 60 / 43 = 1 Resto 17
Dígito de verificación "H" (Número de referencia 17)

Números de referencia:
00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %


Ejemplo de código para calcular la suma de comprobación según Modulo 43

Código VBA de Excel para calcular la suma de comprobación según Modulo 43, por ejemplo, para el código HIBC:
' calc modulo 43
‘ returns the input string plus the check character
' demo for www.activebarcode.com
Public Function MOD43CheckChar(sValue As String) As String
    Const charSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
    Dim i As Integer
    Dim T As Long
    For i = 1 To Len(Trim(UCase(sValue)))
        T = InStr(charSet, Mid(sValue, i, 1)) - 1 + T
    Next i
    MOD43CheckChar = sValue & Mid$(charSet, (T Mod 43 + 1), 1)
End Function