No.1ベストアンサー
- 回答日時:
分からないことがあったら、まずはヘルプを見ましょう。
ネットでの検索もしましょう。その上で、なお分からない部分について質問してください。回答者の負担を減らすことになり、回答も寄せられやすくなるはずです。MsgBox 関数の第 2 引数を次のように指定すると、「OK」または「キャンセル」、あるいは、「はい」または「いいえ」の答えを強制することができます。
a=msgbox("文字列",vbokcancel)
a=msgbox("文字列",vbyesno)
このとき×ボタンや Esc キーを押すと、vbOKCancel では、キャンセル扱いとなります。vbYesNo では、押すことができません。
変数 a に代入されるのは、それぞれの答えを表す Integer 型の定数です。それらの値が実際にいくつであるのかは、MsgBox のヘルプを見るか、Debug.Print メソッドなどで確認してください。
debug.print vbcancel ……コードウィンドウ内で実行
?vbno ……イミディエイトウィンドウ内で実行
a=msgbox("文字列",vbyesno):?a ……イミディエイトウィンドウ内で実行
vbOKOnly の場合、OK でも×でも答えは vbOK となって、区別が付きません。
第 2 引数の規定は、ヘルプにあるとおり、0(= vbOKOnly)です。そのため第 2 引数を省略すると、vbOKOnly と書いてあるのと同じになります。
なお答えを取得する必要がない場合は代入しないわけですが、その場合 VBA では、( ) を付けない文法になっています。(下のような例外を除き)付けるとエラーです。逆に、代入するときは上のように、( ) を付けます。付けないとエラーです。
msgbox "文字列",vbokcancel
msgbox "文字列",vbyesno
msgbox("文字列",vbokcancel) ……エラー
例外:
下の各コードは、数式などを括弧でくくっただけで、関数に引数を与えるための括弧ではありません。
そのため、いずれもエラーにはなりません。
msgbox (3)
msgbox (3+0)*1
msgbox ("文字列")
msgbox ("文字列" &"") &""
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) アンケート集計用VBAについて教えて下さい。 約100人にアンケート内容が入ったExcelファイルを 1 2022/07/27 13:12
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- その他(プログラミング・Web制作) uwscのCHKING関数の画像の認識がうまくいかない。 1 2022/06/18 20:55
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) エクセルVBA Msgboxでの変数の活用 4 2023/07/23 08:33
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
メッセージボックスの選択ボタンのテキストを変更したい
Visual Basic(VBA)
-
-
4
フォントの大きさ
Visual Basic(VBA)
-
5
callで順に実行されるプロシージャを途中で止める方法
Excel(エクセル)
-
6
Excel VBAで、Application.InputBoxのキャンセルと入力値ゼロを区別したい。
Visual Basic(VBA)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
9
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
10
'ユーザーフォーム右上隅の[×]ボタンを表示しない
Visual Basic(VBA)
-
11
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
12
UserForm1.Showでエラーになります。
工学
-
13
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
14
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
15
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
16
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
Excel VBAでブックを閉じる時、複数のブックが開いていると・・・。
Excel(エクセル)
-
19
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
20
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[C言語]fputsとfprintfの違い
-
エクセルでアルファベットか数...
-
C言語で文字列の中の文字列のカ...
-
Excelはなんで先頭の0を消すん...
-
マクロ処理でのループの記述に...
-
【Excel VBA】複数ある特定の文...
-
sedなどで、特定の文字列の後の...
-
文字列からカンマを取り除きたい
-
エクセルでセル内の文字列の最...
-
Left関数とRight関数を合わせた...
-
A B C D E の五文字のすべてを...
-
VBAにおける文字列結合と繰り返...
-
VBの「As String * 128」とは?
-
OnTime 使用時のプロシージャへ...
-
EXCELで=より左の文字を一括で...
-
エクセルで文字列をtxtファイル...
-
【COBOL】文字列から数値項目に...
-
同一セル内に関数と文字列を同...
-
StringGridで選択した箇所の文...
-
MS SQLServer のSQLで文字列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
[C言語]fputsとfprintfの違い
-
エクセルで文字列をtxtファイル...
-
同一セル内に関数と文字列を同...
-
エクセルで文字列の最大値を抽...
-
Excelはなんで先頭の0を消すん...
-
MS SQLServer のSQLで文字列の...
-
エクセル 数値データを桁をそ...
-
Left関数とRight関数を合わせた...
-
VBA2005 16進を2桁で表示したい。
-
VBの「As String * 128」とは?
-
Msgboxの×が押されたとき
-
sedなどで、特定の文字列の後の...
-
【Excel VBA】複数ある特定の文...
-
OnTime 使用時のプロシージャへ...
おすすめ情報