|
> MsgBox(”つづけますか?”,vbYesNo) Msg
この場合、しいて表記するとしたら、
>> MsgBox(Msg & "つづけますか?",vbYesNo)
となります。
「”」は全角ではなく、半角ですね。
"○○○"で、文字列を直接指示しています。
「&」は、文字列をつなげるときに使います。
つまり、変数で間接的に指示された文字列「Msg」と、
直接的に指示された「つづけますか?」をつなげています。
しかし、このまま入力すると、
--------------------
コンパイル エラー :
修正候補 :=
--------------------
というメッセージが出るかと思います。
そこで、以下のふたつの例を比べてみてください。
まず、下記に変更して試してみてください。
>> MsgBox Msg & "つづけますか?", vbYesNo
おそらく田中さんが希望されているメッセージボックスが表示されると思います。
しかし、これでは「はい」でも「いいえ」でも同じ処理、
すなわち、またユーザーフォームに戻って、
テキストボックスにフォーカスされた状態になります。
ちなみに、時間があればこれも試してみてください。
>> MsgBox Msg & Chr(13) & "つづけますか?", vbYesNo
おわかりいただけるかと思いますが、「Chr(13)」は改行です。
では、「はい」を押したときと「いいえ」を押したとき、
それぞれ処理を分けるにはどうしたらいいかというと、下の例になります。
>> Dim YScheck As Integer
>> YScheck = MsgBox(Msg & "つづけますか?", vbYesNo)
こうすると、下のように使えます。
---------------------------
If YScheck = vbYes Then
'(「はい」のときの処理)
ElseIf YScheck = vbNo Then
'(「いいえ」のときの処理)
End If
---------------------------
だいぶくどくど書いてしまってすみません。
いろいろ工夫してみてください。
|
|