|
▼Jaka さん:
>しょぼい。
そんなことないです。
わたしは大きなデータを使うことないので、全く問題なさそうです。
勉強になりました。
1000行×10列:<0,1sec
10000行×10列:<1sec
60000行×10列:<4sec
1000行×26列:<0,5sec
10000行×26列:<4sec
60000行×26列:<20sec
Sub test()
Dim TBL_1, TBL_2
ActiveSheet.UsedRange.ClearContents
TBL_1 = [row(a1:a100)*column(a1:z1)]
TBL_2 = [row(a1:a10000)&"_"&column(a1:z1)]
MsgBox "2つの配列を合体します。"
Dim t As Double
t = Timer
Dim tbb()
ReDim tbb(1 To UBound(TBL_1, 2))
Dim NewTB
Dim i As Long, 行 As Long, 列 As Long
For i = 1 To UBound(tbb)
tbb(i) = Split(Join(Application.Transpose(Application.Index(TBL_1, 0, i))) & " " & _
Join(Application.Transpose(Application.Index(TBL_2, 0, i))))
Next
NewTB = Application.Transpose(tbb)
MsgBox Timer - t
行 = UBound(NewTB, 1)
列 = UBound(NewTB, 2)
Cells(1).Resize(行, 列).Value = NewTB
Erase TBL_1, TBL_2, tbb, NewTB
End Sub
|
|