【先着1,000名様!】1,000円分をプレゼント!

ご回答者様

いつもお世話になっております。
VBAの本でプロシージャの引数を学習しております。
下記ソースでEXCELのメッセージボックスに【Excel VBA】と表示がされるようです。

Sub sample8()

Call Sample9("Excel VBA")
End Sub

Sub Sample9(msg As String)

MsBox msg

End Sub


上記ソースは参考書より丸写ししましたが下記エラーが出ます。
コンパイルエラー 
sub又はfunctionが定義されていません。

こちらのエラーは具体的にどういう意味でしょうか。

何卒宜しくお願い致します。

A 回答 (2件)

MsBox が原因です。


正しくは MsgBoxと書きます。

Visual Basic Editor (VBE) でコードを実行すると、エラーが発生した場合は
該当箇所に色が付きます。これを参考にするとよいでしょう。

自分でタイプミスに気付く方法があります。すべて小文字で入力すると、VBEは必要な文字を自動的に大文字に変換してくれます。例えば msgbox と入力すると VBEが MsgBox と変換してくれます。もしタイプミスして msbox と入力した場合は、変換されずに msbox のままです。つまり大文字が一つも表示されなければそれはタイプミスの可能性があると気付けるのです。
このVBEの機能を利用して、自分で定義する変数やプロシージャーの名前も大文字が混じった書き方(mymsgではなくmyMsg)をするとタイプミスに気づきやすくなります。
    • good
    • 0
この回答へのお礼

お世話になります。
回答頂きありがとうございます。
確かにマクロが動きました。
入力ミスの件、ありがとうございます。
参考にします。

お礼日時:2020/11/28 17:57

MsBox ?ここかな?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


人気Q&Aランキング