マクロ初心者です。
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も見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
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
別のシートから値を取得するとき
Visual Basic(VBA)
-
8
VBAを使って検索したセルをコピーして別の場所に貼り付ける。
Visual Basic(VBA)
-
9
Excel-vba 文字列と変数を連結して更に変数として扱いたい
その他(プログラミング・Web制作)
-
10
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
11
Do~Loopした回数をカウントしたい
Visual Basic(VBA)
-
12
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
Excelで、ボタンにコメントをつ...
-
Excelにストップウオッチ?をつ...
-
フォームコントロールから作っ...
-
VBA 図の削除
-
エクセルの画面にユーザーフォ...
-
エクセルで、オプションボタン...
-
ユーザーフォームをショートカ...
-
マクロ初心者です。 msgboxのre...
-
excel 2000でのマクロボタン作成で
-
VBAでオプションボタンなどそれ...
-
エクセルでマクロボタンを押す...
-
excel スクロールしても常にボ...
-
エクセル ボタンによるチェッ...
-
Access VBAでボタンの背景色を...
-
Accessのフォームでタブの色
-
エクセルでグループボックスを...
-
エクセルマクロ 自動でMSGボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
UPS警告音を止めたい
-
複数シートのボタンに同一の動...
-
ユーザーフォームをショートカ...
-
Excelで、ボタンにコメントをつ...
-
マクロで作ったボタンのサイズ...
-
フォームコントロールから作っ...
-
Excel ラジオボタンのリセット...
-
【Excel VBA】マクロボタンを表...
-
excel スクロールしても常にボ...
-
エクセルで、オプションボタン...
-
EXCELの塗りつぶしのボタ...
-
EXCELのマクロが 実行時エラー5...
-
Accessのフォームでタブの色
-
マクロ初心者です。 msgboxのre...
-
入力済み、選択したセルに連動...
-
Access VBAでボタンの背景色を...
-
エクセルでマクロボタンを押す...
-
エクセルVBA フォームへ動...
おすすめ情報