excel VBA YESNO付きのメッセージボックスが2回出てしまいます。
VBA初心者です。上記の解決策を教えて頂きたいです。
ユーザーフォーム上のテキストボックスの入力値がexcelsheet上の表に無い場合に注意文が出るようにしました。
「"注意:テキストボックス1 リストに無い値です。この表示を無視しますか? >Yes or No」
Yes:そのまま処理が進む
No:処理停止
としたい感じです。
↓コードを書いたのですが、YesやNoボタンを1回押してももう1回メッセージボックスが出てしまい、2回ボタンを押さなければならない状態です。
----------------------------------------
Dim keyword As String
keyword = TextBox1
Dim Result As Long
Result = MsgBox("注意:テキストボックス1" & vbCrLf & "リストに無い値です" & vbCrLf & "この表示を無視しますか?", vbYesNo + vbExclamation)
If WorksheetFunction.CountIf(Worksheets("test").UsedRange, keyword) = 0 Then
MsgBox "注意:テキストボックス1" & vbCrLf & "リストに無い値です" & vbCrLf & "この表示を無視しますか?", vbYesNo + vbExclamation
If Result = vbNo Then
Exit Sub
End If
End If
---------------------------------------
上記どこが悪いでしょうか。
教えて頂けますと有り難いです。
何卒よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
そりゃMsgBoxを2回呼んでるからです。
試しに、下の方のMsgBoxの文字列の「注意」を「ごちゅうい」にでも変えてみれば、同じメッセージが2回出ているのではない、ということがわかるでしょう。
さて、上の方のMsgBoxは、"リストに無い値"であるかどうかとは関係なく常にメッセージを出すから、全く余計です。一方、下の方のMsgBoxは"リストに無い値"である場合にだけメッセージを出すけれども、Resultに値を返さないんでダメ。
というわけで、下の方の"MsgBox"以下をみんな削除して、そこに、上の方のMsgBoxの一行を丸々移動すればいいんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
メッセージを1度だけ表示したい。
Visual Basic(VBA)
-
メッセージボックス 1度だけ表示したい
Excel(エクセル)
-
エクセルVBA ブックを閉じる前に確認メッセージを表示したい
Excel(エクセル)
-
-
4
エクセルVBA 連続してメッセージで判断
Access(アクセス)
-
5
VBA 2回実行してしまう?
Windows 7
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
UserForm1.Showでエラーになります。
工学
-
8
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
9
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
10
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
11
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
12
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
13
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
14
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
15
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
16
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
17
【Excel関数】UNIQUE関数で0"を返さない方法?"
Excel(エクセル)
-
18
i=cells(Rows.Count, 1)とi=cells(Rows.Count, 2)の違い
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
EXCELで条件付き書式で空白セル...
-
彼女のことが好きすぎて彼女の...
-
至急!尿検査前日にオナニーし...
-
甲状腺が腫れているが血液検査...
-
勃起する時って痛いんですか? ...
-
小数点以下を繰り上げたものを...
-
MIN関数で空白セルを無視したい...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
エクセル指定した範囲からラン...
-
尿検査前日に自慰行為した時の...
-
中出しをするとお腹が痛い・・・。
-
一番多く表示のある値(文字列...
-
精子が黄色?
-
【Excelで「正弦波」のグラフを...
-
ある範囲のセルから任意の値を...
-
Excel条件付書式(残業45時間以...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報