2017-12-08 3 views
0

最近、私は質問した質問に従って、あるワークシートから別のワークシートにデータをコピーする配列を作成しました。私の問題は、新しいワークシートには必要のない多くの列が配列に含まれていることです。VBA - 配列から特定の列だけを貼り付けます

x = Sheets("Sheet1").Range("A1048576").End(xlUp).Row 
Set my_range = Sheets("Sheet1").Range("A2:AM" & x) 
DirArray = my_range 

Sheets("Sheet2").Select 

Set Destination = Range("A3") 
Destination.Resize(UBound(DirArray, 1), UBound(DirArray, 2)).Value = DirArray 

このコードは配列からすべてのデータをコピーしますが、配列の特定の列のみが必要です。列A:E、AA、L、M:Kだけを取得するには、どうすればこのことについて検討しなければなりませんか?

何か助けていただければ幸いです。前もって感謝します。まあ

+1

あなたがしたいことに応じて、多くの方法があります。必要な列を含む結果配列を作成できます。結果を連続して配置するか、元の列と同じ列に配置するかによって、複数の配列が必要になる場合があります。または、4つの関連するコピー/ペースト操作がより速く実行されるかどうかを確認するためにいくつかのタイミングテストを行い、その代わりに使用することができます。 –

答えて

0

あなたは多分、これらの線に沿って何かが役立つかもしれませんが、配列を使用しようとしている場合:

Sub foo() 
    Dim ColumnAarray() As Variant 
    Dim my_Arange As Range 
    LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row 

    'Get one column's data 
    Set my_Arange = Sheets("Sheet1").Range("A2:A" & LastRow) ' get specific column 
    ReDim ColumnAarray(LastRow) 'Re size your array to fit data 
    ColumnAarray = my_Arange 'add data to array 
    '' 
    ''Repeat the process to copy more columns 

    '' 
    Set Destination = Sheet2.Range("A3") 
    Destination.Resize(UBound(ColumnAarray, 1), UBound(ColumnAarray, 2)).Value = ColumnAarray 'add column A to Range A3 on Sheet2 
End Sub 

それとも、配列の値を貼り付けて行くところ、あなただけから特定の列を貼り付け、これを変更することができますが元の範囲など:

Sub foo() 
    Dim ColumnAarray() As Variant 
    Dim my_Arange As Range 
    LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row 
    Set my_Arange = Sheets("Sheet1").Range("A2:AM" & LastRow) ' get specific range 
    ReDim ColumnAarray(LastRow) 'Re size your array to fit data 
    ColumnAarray = my_Arange 'add data to array 

    For i = LBound(ColumnAarray) To UBound(ColumnAarray) 
     Sheet2.Range("A" & i) = ColumnAarray(i, 1) 'paste first column from original range 
     Sheet2.Range("B" & i) = ColumnAarray(i, 2) 'paste second column from original range into column B in Sheet 2 
    Next i 
End Sub 
関連する問題