如需本文所示的 Microsoft Excel 97 版本,請參閱 157346。如需本文所示的 Microsoft Excel 98 版本,請參閱 182482

徵狀

在 Microsoft Office Excel 中,工作表或活頁簿中包含「背後」的 Microsoft Visual Basic for Application (VBA)宏程式碼可能無法正常運作。

原因

如果下列兩個條件皆為 true,就會發生這種情況:

  • 所述的程式碼包含在自動執行的副程式中,例如 Auto_Open 或 Auto_Close 副程式。

  • 程式碼不會包含在 Visual Basic 模組中,但「背後」是工作表或活頁簿本身。

因應措施

為了讓自動執行的副程式能在 Microsoft Excel 中正常運作,這些程式必須包含在 Visual Basic 模組中。您必須在活頁簿中插入 Visual Basic 模組,然後將程式碼放在新的模組中。若要插入 Visual Basic 模組:

  1. 在 [Visual Basic 編輯器] 的 [ 專案資源管理器 ] 中,啟動內含問題程式碼的活頁簿。

  2. 在 [插入] 功能表上,按一下 [模組]。

插入新模組之後,請從其原始位置剪下程式碼,然後將它貼到 Visual Basic 模組中。 然後,儲存活頁簿。

其他相關資訊

在 Excel 中,VBA 程式碼可以儲存在三個不同的位置:在 Visual Basic 模組中,在 Visual Basic 課程模組中,以及「背後」工作表和活頁簿。若要編輯工作表或活頁簿的 [之後] 程式碼:

  1. 啟動 [Visual Basic 編輯器] (按 ALT + F11)。

  2. 在 [ 專案資源管理器 ] 視窗中,您會看到類似以下的專案:

         VBAProject (Book1)         Microsoft Excel Objects            Sheet1 (Sheet1)            Sheet2 (Sheet2)            Sheet3 (Sheet3)            ThisWorkbook                  Modules             Module1 

如果您按兩下其中一個工作表名稱或 ThisWorkbook,您可以在 [程式碼] 視窗中輸入程式碼。 不包含在 Visual Basic 模組中的這類程式碼會被視為「背後」工作表或ThisWorkbook 。如果 Auto_Open、 Auto_Close或其他 自動 執行的副程式儲存在工作表或 ThisWorkbook之後,當您開啟或關閉活頁簿時,或當您執行的動作應該會導致副程式執行時,可能無法正常運作。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×