2016-07-07 5 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のツール内で**変数宣言を必要とする設定を行う**オプション►エディタのプロパティページでは、** [Option Explicit](https://msdn.microsoft.com/en-us/library/y9341s4f.aspx)を入力します* *新たに作成されたコードシートの上部にあるステートメント。この は、スペルミスのような間違ったコードミスを避けるだけでなく、変数 宣言で正しいvarタイプを使用するように影響します。宣言なしでオンザフライで作成された変数は、すべてバリアント/オブジェクトタイプです。 ** Option Explicit **を使用すると、 は「ベストプラクティス」とみなされます。 – Jeeped

+0

良い提案、ジープ。 – 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