![](/img/trans.png)
[英]How to copy specific files from subfolders to a destination folder? (Excel VBA)
[英]How to copy Range Array to specific destination in VBA?
請幫助我到處搜索,但似乎所有方法都失敗了。 這是我的密碼
Dim MyArray(1 To 20) As Range
Dim A0 As Integer
Cells(1, 1).Select
For A0 = 1 To 20
Set MyArray(A0) = Range(ActiveCell, ActiveCell.Offset(1, 0))
ActiveCell.Offset(0, 1).Select
Next
Range("A15:T15") = Application.Transpose(MyArray)
Range("A15:T16") = Application.Transpose(MyArray)
Range("A15:T15") = WorksheetFunction.Transpose(MyArray)
Range("A15:T16") = WorksheetFunction.Transpose(MyArray)
我已經嘗試了每4個步驟一次。 但是失敗了。 這只是總結,使它易於閱讀。 謝謝
比我的評論走得更遠...以這個為例...
Sub a()
Dim x(2) As Integer
x(0) = 1
x(1) = 2
Range("A10:B10").Value = x
End Sub
這樣可以將數組正確輸出到單元格A10
和B10
對於2D陣列,可以使用此示例...
Sub a()
Dim x(2,2) As Integer
x(0,0) = 1
x(0,1) = 2
x(1,0) = 3
x(1,1) = 4
Range("A10:B11").Value = x
End Sub
您仍然不需要移調!
您可以將數據從“范圍到數組”和“數組到范圍”中的每個操作僅使用一行。
Sub CopyUsingArray()
' Create array
Dim Marks() As Variant
' Read 20 values into array from sheet1
Marks = Range("A1:T1").Value
' Write the 20 values to row 15
Range("A15:T15").Value = Marks
End Sub
當然,如果您只是從范圍復制到另一個,則不需要使用數組。 您可以像這樣使用Range.Copy方法
Sub CopyRange()
Range("A1:T1").Copy Destination:=Range("A15")
End Sub
如果您需要轉置數據,可以通過這種方式進行
Sub CopyRange_Transpose()
Range("A1:T1").Copy
Range("A15").PasteSpecial Transpose:=True
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.