简单的复制/粘贴循环不适用于每个工作表

时间:2017-11-21 16:33:24

标签: excel-vba vba excel

我正在尝试遍历工作簿中的所有工作表。在每张工作表上,我想从一个单元格中复制一个值,然后将该值粘贴到该工作表中的另一个单元格上,然后继续浏览工作簿。我编写的代码循环遍历所有工作表,但只在宏运行时在工作表上执行复制粘贴......

Sub CleanUp()

Dim ws as Worksheet

For Each ws in ThisWorkbook.Sheets
    Range("BB2").Copy Range("A1")
Next ws

End Sub

实际上,我想进行一系列更复杂的改动,但我甚至无法使其正常工作。

2 个答案:

答案 0 :(得分:2)

可以更快运行的替代解决方案:

Sub CleanUp()

Dim ws as Worksheet

For Each ws in ThisWorkbook.Sheets
    ws.Range("A1").Value = ws.Range("BB2").Value
Next ws

End Sub

答案 1 :(得分:1)

将工作表附加到每个范围:

Sub CleanUp()

Dim ws as Worksheet

For Each ws in ThisWorkbook.Sheets
    ws.Range("BB2").Copy ws.Range("A1")
Next ws

End Sub