|
Private Sub CommandButton1_Click()
Dim i As Integer
Dim key As String
Dim d As New Dictionary
Dim list(1 To 1000, 1 To 3) As Variant
For i = 2 To Application.WorksheetFunction.Match("%", Range("A2:A65536"), 0)
d(Mid(Cells(i, 1), 2, 2) + 0) = 25.4 * (Right(Cells(i, 1), 4) + 0) / 10000
Next
i = Application.WorksheetFunction.Match("%", Range("A2:A65536"), 0) + 1
k = 0
Do While Cells(i + 1, 1) <> ""
i = i + 1
If Len(Cells(i, 1)) = 2 Then
key = Cells(i, 1)
Else
If InStr(1, Cells(i, 1), "G85") <> 0 Then
k = k + 1
list(k, 3) = Cells(i, 1)
list(k, 1) = key
list(k, 2) = d(Right(key, Len(key) - 1) + 0)
End If
End If
Loop
[B2].Resize(k, 3) = list
End Sub
这边不执行,为什么???
把代码中
Dim d As New Dictionary 更改如下就可以了
Set d = CreateObject("scripting.dictionary")
|
|