|
举例
899*618= 555 582。而表中的,没有去除重复的5。也没有了后面的82了。
1、结果去重复的数字,
2、加三种颜色。
自己弄了半天,也没有成功。
代码及附件如下:
Sub 固定胆()
Set d = CreateObject("scripting.dictionary")
Min = Timer
Application.ScreenUpdating = False
With Worksheets("固定胆")
lastr = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
.Range(.Cells(3, "z"), .Cells(lastr, "z")).NumberFormatLocal = "000000"
For i = 4 To lastr
d.RemoveAll
For j = 1 To 3
d(Mid(.Cells(i, "b"), j, 1)) = ""
Next
.Cells(i, "z") = .Cells(i - 1, "b").Value * 618
.Cells(i, "d") = Mid(.Cells(i, "z"), 1, 2)
k = 0
For j = 1 To 2
If d.exists(Mid(.Cells(i, "D"), j, 1)) Then
k = k + 1 ''''''''''''''''''''注:如果*618 结果的前两位是11,开奖号码是123,那么11应该判定出现2次,这符合实际情况
End If
Next
.Cells(i, "e") = k
.Cells(i, "f") = Mid(.Cells(i, "z"), 1, 3)
k = 0
For j = 1 To 3
If d.exists(Mid(.Cells(i, "f"), j, 1)) Then
k = k + 1 ''''''''''''''''''''注:如果*618 结果的前两位是11,开奖号码是123,那么11应该判定出现2次,这符合实际情况
End If
Next
.Cells(i, "g") = k
.Cells(i, "h") = Mid(.Cells(i, "z"), 1, 4)
k = 0
For j = 1 To 4
If d.exists(Mid(.Cells(i, "h"), j, 1)) Then
k = k + 1 ''''''''''''''''''''注:如果*618 结果的前两位是11,开奖号码是123,那么11应该判定出现2次,这符合实际情况
End If
Next
.Cells(i, "i") = k
.Cells(i, "z").ClearContents
Next
End With
MsgBox "wanbi " & Timer - Min
End Sub
|
|