|
本帖最后由 爱疯 于 2020-6-16 17:39 编辑
今天查了一下规则,写了一个。
Function 升级(Rng)
On Error GoTo AA
Dim StrT$, i%, SumM&
If Len(Rng) = 18 Then
升级 = Rng
ElseIf Len(Rng) = 15 Then
StrT = Replace(Rng, Left(Rng, 6), Left(Rng, 6) & 19)
For i = 1 To 17
SumM = CInt(Mid(StrT, i, 1)) * 2 ^ (18 - i) + SumM
Next i
升级 = StrT & Mid("10X98765432", (SumM Mod 11) + 1, 1)
Else
AA:
升级 = "原始号码不正确"
End If
End Function |
|