我写了一个简单的宏循环遍历所有表单。但是,它仅适用于第一张纸。我已经阅读了其他有成功的帖子,所以我不确定为什么我的代码无法工作。无法使用Excel宏循环浏览Excel工作表?
Sub Archive_Sheets()
For Each ws In ActiveWorkbook.Worksheets
Range("B2").Value = "DONE"
Next ws
End Sub
任何想法可能会导致这种情况?
我写了一个简单的宏循环遍历所有表单。但是,它仅适用于第一张纸。我已经阅读了其他有成功的帖子,所以我不确定为什么我的代码无法工作。无法使用Excel宏循环浏览Excel工作表?
Sub Archive_Sheets()
For Each ws In ActiveWorkbook.Worksheets
Range("B2").Value = "DONE"
Next ws
End Sub
任何想法可能会导致这种情况?
你必须给你写代码喜欢 -
ws.Range("B2").Value = "DONE"
完美工作。 –
您忘记在所述范围的开始处使用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
范围()是指ActiveSheet。如果你想要引用不同的工作表,你需要限定它:ws.Range() –