2016-07-07 78 views
0

這是Excel 2013 Power Programming中的代碼,出於某種原因,我無法使其工作。VBA問題,簡單的扭曲

這個腳本是正確的開箱即用,但它不工作:

Sub SayHello() 
    Msg "Is your name " & Application.UserName & "?" 
    Ans = MsgBox(Meg, vbYesNo) 
    If Ans = vsNO Then 
    MsgBox "Oh, nevermind then. Bother" 
    Else 
    MsgBox "I must be clairvoyant!" 
    End If 
End Sub 

我得到一個編譯錯誤: Sub or Function not defined 上的子

起跑線這是我的第一次使用VBA的經驗,所以如果我做了非常愚蠢的事情,請溫柔一點。

+1

工作'消息= 「你的名字是」 &Application.UserName和 「?」'(注意等號添加)。然後'Msg'不是'Meg'。 – Jeeped

+1

你還應該養成聲明變量的習慣。設置**要求變量聲明**在VBE的工具►選項►編輯器屬性頁面將把** [選項 顯式](https://msdn.microsoft.com/en-us/library/y9341s4f.aspx)* *每個新創建的代碼表頂部的聲明。此 將避免拼寫錯誤,如拼寫錯誤,並影響您在變量 聲明中使用正確的var類型。在沒有聲明的情況下即時創建的變量都是變體/對象類型。使用** Option Explicit **是 被認爲是「最佳實踐」。 – Jeeped

+0

好的建議,Jeeped。 – Edmund

回答

1

幾個拼寫錯誤和遺漏=

Sub SayHello() 
    Msg = "Is your name " & Application.UserName & "?" 
    Ans = MsgBox(Msg, vbYesNo) 
    If Ans = vbNo Then 
     MsgBox "Oh, nevermind then." 
    Else 
     MsgBox "I must be clairvoyant!" 
    End If 
End Sub 

測試,並在Excel 2010

+0

謝謝,不能相信我錯過了那個廢話。 – Edmund