マクロ初心者です。
msgboxのretについて教えてください。
★「・・」は省略しています。
If errMsg < > '' '' Then
①ret = Msgbox(err_Msg_・・)
②If ret = vbNo Then ・・・
上記のコードですが、
retは押したボタンという意味なら、
②の、ボタンがNoだったら、というのは理解できるのですが、
①はメッセージ表示なので
始まりのret = は省略していいのでは?と思って消してみるとエラーがでました。
②でretを使うなら①でも使わないと成り立たないということですか?
逆にretを使わずに記述するというのは
このコードに限っては無理なんでしょうか?
(yesかNoで分岐があるから)
別の場所では、
If errMsg < > '' '' Then
の下には、retは使わずにMsgbox()だけ記述しています。yesNoボタンはなくOKボタンのみでした。
選択ボタンがあればretを使う、と覚えて問題ないですか?
すみません、言っている意味が分からないかもしれません…
No.1ベストアンサー
- 回答日時:
> ①はメッセージ表示なので
違います。
表示するだけではありません。
①はメッセージを表示して、表示したメッセージの中で押されたボタンを返す関数です。
MsgBox 関数 (Visual Basic)
https://msdn.microsoft.com/ja-jp/library/139z2az …
| ボタンがクリックされるのを待って、どのボタンがクリックされたのかを示す、整数型 (Integer) の値を返します。
--
> 逆にretを使わずに記述するというのは
> このコードに限っては無理なんでしょうか?
例えば、
If Msgbox(err_Msg_・・) = vbNo Then ・・・
とかって書けば、一時的にMsgboxの返り値を保管するretのような変数は不要です。
コードが読みにくくなる、Msgboxの返り値の確認が面倒になるとかのデメリットもあるので、初心者のうちは元の通りに丁寧に書いた方が良いと思いますが。
> yesNoボタンはなくOKボタンのみでした。
だと、vbNoは返って来ないので、②のifの中の処理は何回やっても実行されないですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) test([)コマンドによる条件判定 2 2022/08/10 12:28
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) エクセルVBA Msgboxでの変数の活用 4 2023/07/23 08:33
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- その他(プログラミング・Web制作) x86_32のGASの擬似命令 3 2023/06/07 19:55
- Visual Basic(VBA) Excel VBA ユーザーフォーム 複数のユーザーフォームの閉じ方。 2 2022/04/27 11:29
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
i=cells(Rows.Count, 1)とi=cells(Rows.Count, 2)の違い
Visual Basic(VBA)
-
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
エクセルVBAでパスの¥マークについて
Access(アクセス)
-
6
エクセルVBA 「On Error GoTo 0」について
Excel(エクセル)
-
7
Do~Loopした回数をカウントしたい
Visual Basic(VBA)
-
8
別のシートから値を取得するとき
Visual Basic(VBA)
-
9
Excel-vba 文字列と変数を連結して更に変数として扱いたい
その他(プログラミング・Web制作)
-
10
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
11
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームコントロールから作っ...
-
UPS警告音を止めたい
-
複数シートのボタンに同一の動...
-
オブジェクト名をVBAで指定...
-
ボタンを画像で作るか、CSSでデ...
-
Excelシート上のマクロを登録し...
-
パナソニックKX-PW22CLHの電話...
-
VBAでクリアボタンのみ残してシ...
-
Accessのフォームでタブの色
-
EXCELの塗りつぶしのボタ...
-
Dドライブのアクセス許可
-
Access VBAでボタンの背景色を...
-
マクロ ボタンをクリックしたら...
-
エクセル チェックボックスの...
-
2重フィルター
-
【Excel】難しいのですが、献立...
-
【Excel VBA】マクロボタンを表...
-
生成AI画像について
-
メルカリのメルカードで買い物...
-
画像をループさせるうまい方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
【Excel VBA】マクロボタンを表...
-
UPS警告音を止めたい
-
Excel ラジオボタンのリセット...
-
Excelで、ボタンにコメントをつ...
-
複数シートのボタンに同一の動...
-
フォームコントロールから作っ...
-
ユーザーフォームをショートカ...
-
マクロで作ったボタンのサイズ...
-
エクセルで、オプションボタン...
-
EXCELのマクロが 実行時エラー5...
-
EXCELの塗りつぶしのボタ...
-
エクセルでマクロボタンを押す...
-
excel スクロールしても常にボ...
-
Accessのフォームでタブの色
-
入力済み、選択したセルに連動...
-
マクロ初心者です。 msgboxのre...
-
Access VBAでボタンの背景色を...
-
VBAでクリアボタンのみ残してシ...
おすすめ情報