|
发表于 2014-8-10 13:51
|
显示全部楼层
本楼为最佳答案
- Sub 下标的()
- TT = Timer
- Dim arr, i&, j&, m&
- arr = [A1].CurrentRegion
- ReDim brr(1 To UBound(arr) * UBound(arr, 2), 1 To 4)
- For i = 2 To UBound(arr) Step 2
- For j = 2 To UBound(arr, 2)
- If Len(arr(i, j)) Then
- m = m + 1
- brr(m, 1) = arr(1, j)
- brr(m, 2) = arr(i, 1)
- brr(m, 3) = arr(i, j)
- brr(m, 4) = arr(i + 1, j)
- End If
- Next
- Next
- [O:R].ClearContents
- '[O2].Resize(m, 4) = brr
- [O2].Resize(UBound(brr), UBound(brr, 2)) = brr
- MsgBox "用时" & Format(Timer - TT, "0.00") & "秒"
- End Sub
复制代码 你也别把代码改的面目全非吧。。。控制循环的step都被你删掉了。。。。还有你的if判断语句放到for j=1 to ubound(arr,2)外面,这个时候j=0,所以,arr(i,j)当然也就越界了。 |
|