|
已经修改
Sub 冷码()
Dim brr(), sr()
tms = Timer
m = [a1] - 4 'Cells(Rows.Count, 1).End(3).Row - 4
ar = [a5].Resize(m)
ReDim sr(1 To m, 1 To 1)
ReDim brr(0 To 2)
For I = 1 To m
t = ar(I, 1): t1 = Left(t, 1)
brr(t1) = brr(t1) + 1: If brr(t1) = 1 Then k1 = k1 + 1
If k1 = 2 Then k1 = I: Exit For
Next
s1 = 3 - Left(ar(1, 1), 1) - Left(ar(k1, 1), 1)
ReDim brr(0 To 2)
For I = 1 To m
t = ar(I, 1): t2 = Right(t, 1)
brr(t2) = brr(t2) + 1: If brr(t2) = 1 Then k2 = k2 + 1
If k2 = 2 Then k2 = I: Exit For
Next
s2 = 3 - Right(ar(1, 1), 1) - Right(ar(k2, 1), 1)
s = s1 & s2
If k1 > k2 Then k0 = k1 Else k0 = k2
For I = k0 To m
t = ar(I - 1, 1): t11 = Left(t, 1): t12 = Right(t, 1)
t = ar(I, 1): t21 = Left(t, 1): t22 = Right(t, 1)
If t11 = t21 Then s1 = Left(s, 1) Else s1 = 3 - t11 - t21
If t12 = t22 Then s2 = Right(s, 1) Else s2 = 3 - t12 - t22
s = s1 & s2
sr(I, 1) = s
Next
[b5].Resize(m) = sr
MsgBox Format(Timer - tms, "0.000s")
End Sub
|
评分
-
1
查看全部评分
-
|