
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
メッセージを1度だけ表示したい。
Visual Basic(VBA)
-
VBA 2回実行してしまう?
Windows 7
-
エクセルVBA ブックを閉じる前に確認メッセージを表示したい
Excel(エクセル)
-
-
4
メッセージボックス 1度だけ表示したい
Excel(エクセル)
-
5
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
6
UserForm1.Showでエラーになります。
工学
-
7
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
8
エクセルVBA テキストボックスへのセットフォーカスについて
Visual Basic(VBA)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
11
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
12
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
15
オートフィルターをかけ、#N/A以外で絞込みするVBA記述をご教示ください
Excel(エクセル)
-
16
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
17
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
18
VBA初心者です。結合セルを保持したまま挿入する方法を教えてほしいです。
Visual Basic(VBA)
-
19
マクロを実行中に、msgbox を表示させたまま、ワークシートを上下左右に移動表示させたい。
Excel(エクセル)
-
20
Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
血液検査の結果が悪くefgrの値...
-
小数点以下を繰り上げたものを...
-
リンク先のファイルを開かなく...
-
透亮像について。 先日会社の健...
-
excelでsin二乗のやり方を教え...
-
excel関数で TRUEやFALSEについて
-
イタリアから帰国する際、肉製...
-
【エクセル】0以外が入力され...
-
MIN関数で空白セルを無視したい...
-
Excel 0目標に対して数字があ...
-
「内数」という言葉の意味がよ...
-
ワードのページ番号をもっと下...
-
値が入っているときだけ計算結...
-
Excel 数値の前の「 ' 」を一括...
-
WORDで複数語句を検索するには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
アトピー性皮膚炎
-
コロナになるのが死ぬほど怖い...
-
検便についてです。 便は取れた...
-
24歳、女性です。性欲が強すぎ...
-
未成年の従姉妹が自分の真似絵...
-
頭痛に関する質問です。現在高...
-
血液検査の結果が悪くefgrの値...
-
肝臓がんになりたいです。肝機...
-
何故 削除され続けるか、
-
◎敢えてノンジャンルカテゴリー...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
風俗店へ行く前のご飯
-
2つの数値のうち、数値が小さい...
-
病院側から早く来てくださいと...
-
EXCELで条件付き書式で空白セル...
-
Excel 数値の前の「 ' 」を一括...
-
リンク先のファイルを開かなく...
-
値が入っているときだけ計算結...
おすすめ情報