Quay về mục lục VBA Macro
http://bit.ly/checkcontainer
- Đăng ký kênh tại đây: https://www.youtube.com/channel/UCXjV9sLt3WgamL7vofLofow?sub_confirmation=1
- Trang fan page: https://www.facebook.com/lophocvitinhcom
- Trang web: http://lophocvitinh.com
Quy tắc chuẩn ISO của số CONTAINER
Ví dụ số Container : TGHU1234567
01 số container gồm 02 phần:
- Phần chữ: có 04 ký tự (chữ cái thứ 04 thường là chữ U)
- Phần số: gồm 07 chữ số nguyên dương (trong đó số cuối cùng là check digit - số dùng để kiểm tra)
02 số này trùng nhau -> số Container này hợp lệ ISO
Quy tắc tìm số check digit như sau:
Ta có bảng tra giá trị tương ứng với các chữ:
A |
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
10
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
32
|
34
|
35
|
36
|
37
|
38
|
Lần lượt từ trái qua phải lấy số tương ứng với các chữ *2^n (bắt đầu từ 0->9)
Kí tự | Số tương ứng | Lũy thừa 2n | Chi tiết | Tách số |
( a ) | ( b ) | ( c ) | ( b ) x ( c ) | ( e ) |
T | 31 | 0 | B5 x 20 | 31 |
G | 17 | 1 | B6 x 21 | 34 |
H | 18 | 2 | B7 x 22 | 72 |
U | 32 | 3 | B8 x 23 | 256 |
1 | 1 | 4 | B9 x 24 | 16 |
2 | 2 | 5 | B10 x 25 | 64 |
3 | 3 | 6 | B11 x 26 | 192 |
4 | 4 | 7 | B12 x 27 | 512 |
5 | 5 | 8 | B13 x 28 | 1280 |
6 | 6 | 9 | B14 x 29 | 3072 |
TỔNG | 5529 |
Lấy tổng / 11 => số dư chính là check digit: số 7
Trùng với số cuối cùng của số container: TGHU1234567 => Số cont này hợp lệ
Các bạn xem thêm về chuẩn này tại trang:
https://www.bic-code.org/ (trang chính thức về chuẩn số CONTAINER)
Function KIEMTRA(Text As String)
'Copyright 2015 @ NGUYEN TRAN MINH
'All right reserved
'Mobi: (084) 0906 73 8682 (NGUYEN TRAN MINH)
'Function to check ISO standard of CONTAINER No
Dim MANG_SO, TONG As Integer
Dim MANG_CHU, S, EndChar As Byte 's la ky tu
Dim SoDung, EndNo, ChieuDai, i, j, k As Integer
ChieuDai = Len(Text)
Select Case ChieuDai
Case 0
KIEMTRA = "RONG!"
Exit Function
Case 1 To 10
KIEMTRA = "THIÊ'U!"
Exit Function
Case Is > 11
KIEMTRA = "TH" + ChrW(431) + "`A"
Exit Function
End Select
MANG_CHU = Array("A", "B", "C", "D", "E", "F", "G", _
"H", "I", "J", "K", "L", "M", "N", _
"O", "P", "Q", "R", "S", "T", "U", _
"V", "W", "X", "Y", "Z", _
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
MANG_SO = Array(10, 12, 13, 14, 15, 16, 17, _
18, 19, 20, 21, 23, 24, 25, _
26, 27, 28, 29, 30, 31, 32, _
34, 35, 36, 37, 38, _
0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
KIEMTRA = "SAI!"
TONG = 0
EndChar = Mid(Text, 11, 1)
k = 0
For i = 1 To 35
If EndChar = MANG_CHU(i) Then EndNo = MANG_SO(i)
Next i
For i = 1 To 10
S = UCase(Mid(Text, i, 1))
j = 1
For j = 0 To 35
If S = MANG_CHU(j) Then
TONG = TONG + MANG_SO(j) * (2 ^ k)
k = k + 1
End If
Next j
Next i
If (TONG Mod 11) = 10 Then
SoDung = 0
Else
SoDung = TONG Mod 11
End If
If SoDung = EndNo Then KIEMTRA = "ÐÚNG"
End Function
Tải xuống Phiên bản EXCEL
MD5-SHA256:
5FA3BF9B3B225E17738E0E973D9D7A3C8DD38222D204CB45B659DB80DF93952D
Tài xuống phần mềm kiểm tra ISO số CONTAINER (file add-in)
MD5-SHA256:
Tải xuống phần mềm kiểm tra ISO số CONTAINER (for Android)
Tải xuống phần mềm kiểm tra ISO số CONTAINER (javascript)
Còn nữa...
Các bạn hãy bấm nút LIKE và SHARE để mình có động lực viết thêm nhiều nhiều bài viết nữa.
- Đăng ký kênh tại đây: https://www.youtube.com/channel/UCXjV9sLt3WgamL7vofLofow?sub_confirmation=1
- Trang fan page: https://www.facebook.com/lophocvitinhcom
- Trang web: http://lophocvitinh.com
Tác giả: #drM
Không có nhận xét nào:
Đăng nhận xét