2015-10-12 151 views
2

我想複製粘貼工作表中所有工作表的最後一行的第一個單元格,並且我的代碼不工作,代碼僅在活動工作表上完成。工作簿中所有工作表的循環不起作用

Sub Macro5() 
' 
' Macro5 

Dim ws As Worksheet 

For Each ws In ActiveWorkbook.Worksheets 

    Range("A2").Copy Destination:=Range("A3:A" & Cells(Rows.Count, "B").End(xlUp).Row) 

Next ws 

End Sub 

感謝您的幫助

回答

3

循環的工作表並不能使他們活躍。你想要這樣的東西。

Dim WS As Excel.Worksheet 
    Dim iIndex As Integer 

    For iIndex = 1 To ActiveWorkbook.Worksheets.count 
     Set WS = Worksheets(iIndex) 
     With WS 

     'Do something here. 
      .Range("A2").Copy Destination:=.Range("A3:A" & .Cells(.Rows.Count, "B").End(xlUp).Row) 
     End With 
    Next iIndex 

你可以在你的循環中使用ws,但我總是設置對象。

For Each ws In ActiveWorkbook.Worksheets 
    ws.Range("A2").Copy Destination:=ws.Range("A3:A" & Cells(Rows.Count, "B").End(xlUp).Row) 
Next ws 
+0

你在技術上不需要做任何「激活」,我已經稍微修改了你的答案:) –

+1

我也在做這個改變。謝謝大衛 – MatthewD

+0

它的工作!感謝您的幫助! –

相關問題