|
想让这个VBA改成表1到表5都要运行一遍
Sub test()
Dim ar, br, cr, dr(1 To 1000, 1 To 1)
Dim s As String
Dim d As Object
Dim i As Integer, j As Integer, k As Integer
Set d = CreateObject("scripting.dictionary")
ar = Range("e7:cp22")
For i = 1 To UBound(ar) Step 7
For j = 1 To UBound(ar, 2)
s = ""
For k = 1 To 3
s = s & Right((Mid(ar(i, j), k, 1) + 10 - Mid(ar(i + 1, j), k, 1)), 1)
Next
d(s) = d(s) + 1
Next
Next
br = d.keys
cr = d.items
k = 0
For i = 0 To UBound(br)
If cr(i) > 3 Then
k = k + 1
dr(k, 1) = br(i)
End If
Next
Range("c30:c6553").ClearContents
Range("c30").Resize(k, 1).NumberFormatLocal = "@"
Range("c30").Resize(k, 1) = dr
End Sub
- Sub sheet_5()
- Dim ar, br, cr, dr(1 To 1000, 1 To 1)
- Dim s As String
- Dim d As Object
- Dim i As Integer, j As Integer, k As Integer
- For M = 1 To 5
- With Sheets(M)
- Set d = CreateObject("scripting.dictionary")
- ar = .Range("e7:cp22")
- For i = 1 To UBound(ar) Step 7
- For j = 1 To UBound(ar, 2)
- s = ""
- For k = 1 To 3
- s = s & Right((Mid(ar(i, j), k, 1) + 10 - Mid(ar(i + 1, j), k, 1)), 1)
- Next
- d(s) = d(s) + 1
- Next
- Next
- br = d.keys
- cr = d.items
- k = 0
- For i = 0 To UBound(br)
- If cr(i) > 3 Then
- k = k + 1
- dr(k, 1) = br(i)
- End If
- Next
- .Range("c30:c6553").ClearContents
- .Range("c30").Resize(k, 1).NumberFormatLocal = "@"
- .Range("c30").Resize(k, 1) = dr
- Erase ar
- End With
- Next
- End Sub
复制代码
|
|