2017-10-27 9 views
0

どのようにしてシート2にコピーするときに列がC列から始まるようにコードを変更できますか?それ以外の場合は収まらない、あなたが行全体をコピーする場合は(つまり、Aから始まる)行全体に貼り付けする必要があります - 現在、彼らはあなたがすることはできませんVBA別の列に行を貼り付け

Dim ws1 As Worksheet, ws2 As Worksheet 
Dim firstRowWs1 As Long 
Dim lastRowWs1 As Long 
Dim lastRowWs2 As Long 
Dim searchColumnWs1 As Integer 
Dim i As Integer 
Dim check As Variant 
Dim strSearch As Variant 
Set ws1 = Worksheets("sheet1") 
Set ws2 = Worksheets("sheet2") 

With ws2 
lastRowWs1 = ws1.UsedRange.Rows.Count 
lastRowWs2 = ws2.UsedRange.Rows.Count 
firstRowWs1 = 1 
searchColumnWs1 = 10 
strSearch = Array("asdf", "fdsa") 

For i = firstRowWs1 To lastRowWs1 
    For Each check In strSearch 
     If check = ws1.Cells(i, searchColumnWs1).Value Then 
      ws1.Rows(i).Copy (ws2.Rows(lastRowWs2 + 1)) 
      lastRowWs2 = lastRowWs2 + 1 
      ws1.Rows(i).Delete shift:=xlUp 
      i = i - 1 
      Exit For 
     End If 
    Next check 
Next i 
End With 

答えて

0

列AでのSheet2にコピーされます。あなたにできることはどちらかである

Application.intersect(ws1.Rows(i), ws1.usedrange).Copy ws2.cells(lastrowws2+1, 3) 

またはあなたのルーチンの最後に行全体未満をコピーするだけで右

ws2.columns("A:B").insert xltoright 
に渡って、すべてをプッシュするAで2つの列を挿入します