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も見ています
-
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
-
4
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
5
'ユーザーフォーム右上隅の[×]ボタンを表示しない
Visual Basic(VBA)
-
6
VBAで配列の計算
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
10
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
11
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
12
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
13
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
14
エクセルVBA ブックを閉じる前に確認メッセージを表示したい
Excel(エクセル)
-
15
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
16
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
17
ExcelVBA EnableプロパティがFalseの時に文字の色を変えたくない
Visual Basic(VBA)
-
18
ExcelのComboboxでマウスのスクロールを有効にしたい
Excel(エクセル)
-
19
VBAを何回も作り直して、容量が増えた
Excel(エクセル)
-
20
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでの Replace関数で、ワイル...
-
アンチエイリアス
-
firefoxで、特定の文字列を含む...
-
Python Django csv について
-
指定した文字の前の数字を取り出す
-
テキストエディタで複数行にわ...
-
エクセルでセル内の文字列の最...
-
Excelオートフィルター機...
-
エクセルでSQLでいうところの「...
-
結局、HTML5でクリップボードに
-
アドレスでの参照の仕方
-
エクセル マクロ 右側のスラッ...
-
EXCELで=より左の文字を一括で...
-
MessageBoxが表示されないのは何で
-
VBA 【】で囲んだ文字以外全部...
-
microsoft365のエクセルで、ユ...
-
エクセルでアルファベットか数...
-
VB2008 バイナリデータの書き込...
-
Excel2003 VBA 文字列の比較で
-
エクセルの文字列としての数値
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
エクセルで文字列をtxtファイル...
-
【Excel VBA】複数ある特定の文...
-
エクセル 数値データを桁をそ...
-
Excelで3E8を3.00E+8にしない方...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列の最大値を抽...
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
Excelで指数表現しないようにす...
-
MS SQLServer のSQLで文字列の...
-
VBの「As String * 128」とは?
-
エクセルでセル内の文字列の最...
-
ORCLEでの小数の表示方法の変更...
-
bashスクリプトでの文字列から...
-
LEFT関数で文字数を指定しない...
-
アクセスで特定の数字以外(複...
おすすめ情報