|
Sub test()
Dim i, j, k, t, s, p, n, nn, a As Integer
Dim m, q As String
Dim kk
Dim br, ar As Variant
ar = Sheet1.Range("a3:q" & Sheet1.[b65536].End(xlUp).Row)
ReDim br(1 To UBound(ar), 1 To UBound(ar, 2) - 2)
m = "": q = ""
For i = 2 To UBound(ar)
If Len(ar(i, 2)) = 3 Then
For t = 1 To 3
k = Val(Mid(ar(i, 2), t, 1))
For n = 8 To 12
s = (k + n) Mod 10
m = m & CStr(s)
Next
br(i - 1, 2 * t - 1) = m
m = ""
For n = 13 To 17
s = (k + n) Mod 10
m = m & CStr(s)
Next
br(i - 1, 2 * t) = m
m = ""
For nn = 1 To 5
p = (k + nn) Mod 10
m = m & CStr(p)
Next
br(i - 1, 2 * t + 6) = m
m = ""
For nn = 6 To 10
p = (k + nn) Mod 10
m = m & CStr(p)
Next
br(i - 1, 2 * t + 7) = m
m = ""
Next
End If
Next
For a = 3 To UBound(ar)
If Len(ar(a, 2)) = 3 Then
For t = 1 To 3
k = Val(Mid(ar(a, 2), t, 1))
For j = 2 * t - 1 To 2 * t
If InStr(br(a - 2, j), k) > 0 Then
m = m & ar(1, j + 2)
End If
Next
For j = 2 * t + 6 To 2 * t + 7
If InStr(br(a - 2, j), k) > 0 Then
q = q & ar(1, j + 2)
End If
Next
Next
br(a - 1, 14) = m: m = ""
br(a - 1, 15) = q: q = ""
End If
Next
Sheet1.[c4].Resize(10000, UBound(br, 2)).ClearContents
Sheet1.[c4].Resize(UBound(br), UBound(br, 2)) = br
MsgBox "ok"
End Sub |
|