- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2025-1-10
|
16#
發表於 2021-6-23 20:29
| 只看該作者
回復 15# wang077
請再測試看看,謝謝
Sub test2()
Dim Arr, Ar(), N%, M%, x%, y%
Arr = Range([a1], [a65536].End(3))
M = Int(UBound(Arr) / 5): x = 1: y = 2
If M < 1 Then
Cells(x, y).Resize(, UBound(Arr)) = Application.Transpose(Arr)
Else
For i = 1 To UBound(Arr)
ReDim Ar(1 To M)
If N = UBound(Arr) Then GoTo 99
If N = M * 5 Then
ReDim Ar(1 To UBound(Arr) - N)
For j = 1 To UBound(Arr) - N: N = N + 1: Ar(j) = Arr(N, 1): Next
Cells(x, y).Resize(, UBound(Ar)) = Ar: Exit For
End If
For j = 1 To M: N = N + 1: Ar(j) = Arr(N, 1): Next
Cells(x, y).Resize(UBound(Ar), 1) = Application.Transpose(Ar)
Erase Ar
If y < 6 Then y = y + 1 Else x = x + M: y = 2
99: Next
End If
End Sub |
|