本帖最后由 fangniuji 于 2012-12-20 10:56 编辑
这个宏为什么H2到S列空格时,报错,帮我改改,谢谢!!!
ReDim Arr(1 To d.Count, 1 To 2) 这个问题
- Sub YY()
- Range("t2:u" & Rows.Count).ClearContents
- Dim d As Object, Arr, C&, i&, minx!, j&, x!
- Set d = CreateObject("Scripting.Dictionary")
- For C = 8 To 19 Step 2
- For i = 2 To Cells(Rows.Count, C).End(3).Row
- j = j + 1
- x = Val(Mid(Cells(i, C), 2))
- If Not d.exists(x) Then
- d(x) = Array(Cells(i, C), Cells(i, C + 1))
- Else
- x = x + j / 100
- d(x) = Array(Cells(i, C), Cells(i, C + 1))
- End If
- Next
- Next
- ReDim Arr(1 To d.Count, 1 To 2)
- For i = 1 To d.Count
- minx = Application.Min(d.keys)
- Arr(i, 1) = d(minx)(0)
- If Len(Arr(i, 1)) = 2 Then
- Arr(i, 1) = "T" & "0" & Right(Arr(i, 1), 1)
- End If
- Arr(i, 2) = d(minx)(1)
- d.Remove (minx)
- Next
- [t2].Resize(i - 1, 2) = Arr
- End Sub
复制代码
ReDim Arr(1 To d.Count, 1 To 2)
改成 - if d.count=0 then exit sub
- ReDim Arr(1 To d.Count, 1 To 2)
复制代码
|