|
本帖最后由 laoau138 于 2017-2-22 14:11 编辑
引用工作表函数Index处理在VBA里超过 65536行,出错了怎么办
Sub test()
Dim arr1, arr2(1 To 4), Maxrow As Long, x As Long, y As Long, t As Single
t = Timer
Maxrow = Cells(Rows.Count, 1).End(xlUp).Row
arr1 = Range("A1:E" & Maxrow)
For x = 1 To Maxrow
For y = 1 To 4
arr2(y) = arr1(x, y)
Next y
arr1(x, 5) = Join(arr2, "-")
Erase arr2
Next x '
[E1].Resize(Maxrow, 1) = Application.WorksheetFunction.Index(arr1, 0, 5)
'引用工作表函数Index处理在VBA里超过 65536行,出错了怎么办
Columns(5).AutoFit
MsgBox "用时" & Format(Timer - t, "0.00秒")
End Sub
- Sub Macro1()
- Dim arr, brr, i&, j%
- arr = Range("a1").CurrentRegion
- ReDim brr(1 To UBound(arr), 1 To 1)
- For i = 1 To UBound(arr)
- p = ""
- For j = 1 To 4
- p = p & "-" & arr(i, j)
- Next
- brr(i, 1) = Mid(p, 2)
- Next
- Range("e1").Resize(UBound(brr)) = brr
- End Sub
复制代码
|
|