作者: bongbong3481 時間: 2017-4-30 00:28 標題: VBA Range assign 入array 快速方法
請問有冇快速既方法將range 入邊既CELL Assign 入array 內?
(我目前用for loop 個一個CELL assign 入array, 試過用array=range(下面 1), 好似唔得, 但反過黎range=array(下面 2) 又得, 唔明點解?)
1. array=range 呢個方法唔得==> Cells() = Sheets("sheet1").Range("A1:B60")
2. range=array呢個方法又得==> Sheets("sheet1").Range("C1:D60") = cell()
=======================================================
Sub test()
Dim cell(1 To 60, 1 To 2) As String
For i = 1 To 60
cell(i, 1) = Sheets("sheet1").Cells(i, 1)
Next
Sheets("sheet1").Range("C1:D60") = cell()
End Sub
作者: 狂蜂一號 時間: 2017-4-30 02:05
回覆 1# bongbong3481
Dim cell() As Variant
作者: A字膊 時間: 2017-4-30 05:59
本帖最後由 A字膊 於 2017-4-30 06:15 編輯
Sub test()
Dim cell() As Variant
ReDim cell(1 To 60, 1 To 2)
For j = 1 To 2
For i = 1 To 60
cell(i, j) = Sheets("sheet1").Cells(i, j)
Next i
Next j
Sheets("sheet1").Range("C1:D60") = cell()
End Sub
作者: bongbong3481 時間: 2017-4-30 08:28
回覆 2# 狂蜂一號
改成下面咁, 呢句cell() = Sheets("sheet1").Range("A1:B60")都有問題
Sub test()
Dim cell() As Variant
ReDim cell(1 To 60, 1 To 2)
cell() = Sheets("sheet1").Range("A1:B60")
Sheets("sheet1").Range("C1:D60") = cell()
End Sub
作者: bongbong3481 時間: 2017-4-30 08:28
回覆 3# A字膊
改成下面咁, 呢句cell() = Sheets("sheet1").Range("A1:B60")都有問題
Sub test()
Dim cell() As Variant
ReDim cell(1 To 60, 1 To 2)
cell() = Sheets("sheet1").Range("A1:B60")
Sheets("sheet1").Range("C1:D60") = cell()
End Sub
作者: A字膊 時間: 2017-4-30 09:42
cell = ActiveSheet.Range([A1], Cells(Rows.Count, 1).End(xlUp).Offset(, 1)).Value
作者: myricky 時間: 2017-4-30 10:38
提示: 作者被禁止或刪除 內容自動屏蔽
作者: bongbong3481 時間: 2017-4-30 10:53
回覆 6# A字膊
你個方法OK
cell() = Sheets("sheet1").Range("A1:B60").value
作者: bongbong3481 時間: 2017-4-30 10:56
本帖最後由 bongbong3481 於 2017-4-30 16:03 編輯
回覆 7# myricky
THANK YOU! 你個方法OK 啊
Worksheets("sheet1").Activate真系好重要
作者: 狂蜂一號 時間: 2017-4-30 14:56
回覆 4# bongbong3481
Sub test()
Dim cell() As Variant
cell = Range("A1:B60")
Range("C1:D60") = cell
End Sub
作者: bongbong3481 時間: 2017-4-30 15:43
本帖最後由 bongbong3481 於 2017-4-30 15:45 編輯
回覆 10# 狂蜂一號
唔該晒
Dim cell() As Variant
cell = Range(Cells(1, 1), Cells(60000, 1))
Range(Cells(1, 3), Cells(60000, 3)) = cell
