編寫VBA代碼時,如果您知道要在同一工作簿和某個工作表上操作,是否應該在代碼中爲工作簿對象指定ActiveWorkbook
? 例子:
ActiveWorkbook.Sheets("Sheet1").Range("$A$1")
VS
Range("$A$1")
上面的代碼假定您是通過當地的宏工作表Sheet1關閉的(下表Sheet1對象VBA)。VBA - 何時指定ActiveWorkbook
0
A
回答
0
在大多數情況下比使用ActiveWorkbook
更好使用WorkBooks("Book1")
這更具體和更健壯,我相信比激活工作簿並在引用範圍時指向它更快。
如果在使用Range("A1")
等代碼行時未指定VBA,則VBA將默認爲最後一個活動工作簿。因此,如果您只在一個工作簿中工作,則不需要,因爲上一個活動工作簿始終應該是工作簿希望執行代碼。我通常只在單個工作簿中工作時指定工作表和範圍,因爲如果在沒有特定工作簿的情況下默認情況下它已經完成,那麼告訴Excel選擇活動工作簿有點多餘指定。
只要確保你將運行從你想要的代碼在執行。
包括工作簿名稱絕不會傷害到打開的工作簿宏,它將使你的代碼更健壯。但是,如果您只能在單個工作簿中執行代碼,則不是必需的。
相關問題
- 1. VBA中的ActiveWorkbook
- 2. VBA - 確定Activeworkbook是否有密碼
- 3. activeworkbook/activesheet何時更改?
- 4. ActiveWorkbook Path VBA宏Excel 2013錯誤?
- 5. Activeworkbook changelink
- 6. 如何使用Excel VBA將ActiveWorkbook放到窗口的前面?
- 7. Excel 2007中VBA ActiveWorkbook另存爲不節能...運行時錯誤1004
- 8. Excel VBA - 如果activeworkbook是這本工作簿
- 9. 如何在指定的時間創建VBA備份腳本
- 10. 如何使用vba創建表格時指定主鍵
- 11. VBA在列中指定時間後更改日期
- 12. VBA訪問指定日期/時間字段的字段格式
- 13. VBA - 在沒有指定ID時使用getElementById
- 14. 如何指定無時間
- 15. VBA着色Celldata在指定值之間
- 16. Excel VBA - 將範圍指定爲頁眉
- 17. Excel VBA指定打印機端口
- 18. 確定用戶何時單擊x-VBA
- 19. 如何確定VBA中的夏令時?
- 20. 角時指定
- 21. 定時指令
- 22. 指定時間
- 23. 的Excel 2013 Activeworkbook保護/取消保護問題
- 24. 定時器在Excel VBA
- 25. 如何指定XmlReader的超時時間?
- 26. vba ODBC在oracle表具有時間戳時給出未指定的錯誤
- 27. 如何在我的VBA中指定該列?
- 28. 如何在連接字符串中指定模式名稱VBA
- 29. 如何在VBA中輸出指定的值
- 30. 如何在Outlook中使用Excel VBA指定標記的項目?
否 - 如果您知道要在同一工作簿中操作,則應使用ThisWorkbook.Sheets(「Sheet1」)來限定工作表對象。可以在不活動的工作簿中調用一個宏 – Tragamor
@ Mukul215 - 您需要設置一個工作表對象。 – Jeeped
我習慣性地使用ActiveWorkbook的唯一時間是將工作表複製到未公開的位置,從而在新的未命名的工作簿中創建工作表的副本。 ActiveWorkbook在此時非常有必要識別新創建的工作簿/工作表,以便對其進行命名和保存。 – Jeeped