我寫了一個簡單的宏循環遍歷所有表單。但是,它僅適用於第一張紙。我已經閱讀了其他有成功的帖子,所以我不確定爲什麼我的代碼無法工作。無法使用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() –