VBA執行階段錯誤1004
當寫好VB (Visual Basic),執行巨集時卻發生了「執行階段錯誤1004」,是發生什麼事了?該怎麼解決才好?
![](https://lazyorangelife.com/wp-content/uploads/2023/10/VBA執行階段錯誤1004-1.png)
錯誤語法
你可能寫了如以下類似的語法:
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & “\檔案名稱.xlsx”
![](https://lazyorangelife.com/wp-content/uploads/2023/10/VBA執行階段錯誤1004-2.png)
當由「啟用巨集的活頁簿(.xlsm)」轉為「不啟用巨集的活頁簿(.xlsx)」則會跳出「執行階段錯誤1004」
![](https://lazyorangelife.com/wp-content/uploads/2023/10/VBA執行階段錯誤1004-1.png)
我們只需要將VB改成如下:
正確語法
※輸入以下指令※
Sub 另存新檔()
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & “\檔案名稱.xlsx” _
, FileFormat:=xlOpenXMLWorkbook
End Sub
![](https://lazyorangelife.com/wp-content/uploads/2023/10/VBA執行階段錯誤1004-3.png)
執行巨集則不會跳出「執行階段錯誤1004」,但會跳出警示訊息-「下列功能無法儲存在無巨集的活頁簿」,點選「是」則完成另存新檔。
![](https://lazyorangelife.com/wp-content/uploads/2023/10/VBA執行階段錯誤1004-4.png)
![](https://lazyorangelife.com/wp-content/uploads/2023/10/VBA執行階段錯誤1004-5.png)
若不想跳出儲存的警示訊息,可參考以下做法: