共用方式為


偵測到模糊名稱

識別碼 與其他識別碼衝突,或是需要限定性條件。 此錯誤的原因及解決方案如下︰

  • 在同一 範圍 內可能會有一個以上的物件擁有相同名稱的項目。

    藉由加入物件名稱和句號來限定項目名稱。 例如:

    object.property

    模組層級 識別碼和 專案層級識別碼 (模組名稱和 參考的專案 名稱) 可能會在 程序 中重複使用,雖然如此會使程式難以維護和偵錯。 不過,如果想要參考在相同程序中的這兩個項目,必須限定具有較廣範圍的項目。 例如,如果 MyID 是在 的 MyModule 模組層級宣告 ,然後在模組中使用相同的名稱宣告 程式層級變數 ,則必須適當地限定模組層級變數的參考:

      Dim MyID As String 
      Sub MySub 
      MyModule.MyID = "This is module-level variable" 
      Dim MyID As String 
      MyID = "This is the procedure-level variable" 
      Debug.Print MyID 
      Debug.Print MyModule.MyID 
      End Sub
    
  • 在模組層級宣告的識別碼會與程序名稱衝突。 例如,如果變數 MyID 在模組層級宣告,然後一個程序以相同名稱定義,則會發生錯誤︰

      Public MyID 
      Sub MyID 
      '. . . 
      End Sub 
    

    在此情況下,您必須變更其中一個名稱,因為具有相同模組名稱的限定性條件無法解決語意模糊。 程序名稱預設為 公用,但變數名稱為 私用 (除非指定為 公用)。

如需詳細資訊,請選取有疑問的項目並按 F1 (在 Windows 中) 或 HELP (在 Macintosh 上)。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應