2016-12-13 14 views
2

Excelファイルに2枚のシートがあり、2番目のシートにいくつかの列(たとえば5)のみをコピーしようとしています。それ、どうやったら出来るの?ここではそうそこに約10の列があるが、私は唯一の最初の5を超えるコピーしたい、これが今動作しますが、私は、変更必要な唯一のものである私のVBAコードExcelのマクロで別のシートにコピーする列数を動的に選択

Sub button_click() 
    Set i = Sheets("Sheet1") 
    Set e = Sheets("Sheet2") 
    Dim d 
    Dim j 
    d = 1 
    j = 13 

    Do Until IsEmpty(i.Range("K" & j)) 

    If i.Range("K" & j) = "Y" Then 
    d = d + 1 
    e.Rows(d).Value = i.Rows(j).Value 

    End If 
    j = j + 1 
    Loop 
End Sub 

です。 i.Rows(j).Columns(5).Valueのような行に加えて列を使用すると、1列しかコピーされません。私は必要なすべての列をコピーする方法がわかりません。

答えて

2

あなたの提案のアプローチを使用して、.Columns("A:E")ように列の範囲を指定することができます。

e.Rows(d).Columns("A:E").Value = i.Rows(j).Columns("A:E").Value 
+0

作品を魔法のようになりました!ありがとう! :) – p0tta

関連する問題