2016-12-15 3 views
0

私はプログラムとVBAの新機能です。私はAccessでVBAを使いこなそうとしていますので、私はこの小さな事を書いて私の理解をテストしました。しかし、私はgitを実行すると、空のマクロダイアログ/ウィンドウをポップアップする代わりに、メッセージボックスにコード内のことが表示されます(私はそれと思う)。誰かが私に何を忘れてしまったのかを教えてもらうのに5秒かかりますか?非常にアクセスで実行中の単純な関数エラー

Public Function AddOne(value As Integer) As Integer 
AddOne = value + 1 
End Function 
MsgBox "Adding 1 to 5 gives:" & AddOne(5) 
+1

値は、メッセージボックスのどこかに割り当てられた実際の値を持つ変数ですか? – Rdster

+0

ああ申し訳ありませんが、最終行は&AddOne(5) –

+0

このシリーズを見る必要があります:[Excel VBAはじめに](https://www.youtube.com/playlist?list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5) –

答えて

3

ずっとそれはRunに「ファイル名を指定して実行」ダイアログから任意の引数/パラメータを取りマクロことはできませんありがとうございます。それは「あなたが実行したいんどの手順」を尋ねるエクセルあるので

ですから、実行ボタン、またはF5を押した場合は、ダイアログボックスが表示されます。

enter image description here

これは、任意の利用可能な手順が表示されます。引数を取る手続きは、引数が与えられないので表示されません。

他のいくつかのポイント:

あなたMsgBox文は関数の外にあります。これダイアログから実行することはできませんので、関数内

Function AddOne(val As Integer) 
    Dim ret As Integer 
    ret = val + 1 
    'Display msgBox: 
    MsgBox "Adding 1 to " & val & " gives:" & ret 
    'return to caller: 
    AddOne = ret 
End Function 

する必要があり、あなたがImmediateウィンドウから手動でこれを起動する必要があります。

enter image description here

それとも、あなたは、単にすることができます即時ウィンドウで次のコマンドを使用して結果を即時ウィンドウに出力します。

?AddOne(5) 

Immmediateで "6"と表示されます。

enter image description here

+1

関数が実行されるたびにMsgBoxを必要としないので、簡単にするためにMsgBox用の別のSubを提案します。 – Chrismas007

+1

@ Chrismas007私は気にしないし、それは問題に関連していないが、ありがとう。 –

+0

ありがとうございます!クリスとデイヴィッドに感謝 –

関連する問題