无法使用Excel宏循环Excel表格?

时间:2017-04-18 15:31:46

标签: vba excel-vba excel

我写了一个简单的宏来循环遍历所有工作表。但是,它仅适用于第一张纸。我已经阅读了其他有成功的帖子,所以我不确定为什么我的代码无法正常工作。

Sub Archive_Sheets()
    For Each ws In ActiveWorkbook.Worksheets
        Range("B2").Value = "DONE"
    Next ws
End Sub

任何可能导致此问题的想法?

2 个答案:

答案 0 :(得分:4)

你必须写下像 -

这样的代码
ws.Range("B2").Value = "DONE"

答案 1 :(得分:1)

您忘记在所述范围的开头使用ws.。否则,VBA会自动完成Range("B2").Value = "DONE"ActiveSheet.Range("B2").Value = "DONE"。但那不是你想要的(我猜)。所以,这是你应该尝试的:

Sub Archive_Sheets()
    For Each ws In ActiveWorkbook.Worksheets
        ws.Range("B2").Value = "DONE"
    Next ws
End Sub