- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAを勉強し始めたものです。以下のプログラムはネット上の皆様に教えて)
VBAを勉強し始めたものです。以下のプログラムはネット上の皆様に教えて
このQ&Aのポイント
- VBAを勉強し始めたものです。以下のプログラムはネット上の皆様に教えて頂きながら作成しております。
- テキストボックスに入力された文字を含むセルに着色するプログラムがあります。
- しかし、テキストボックスに文字未入力の段階でクリックしてもエラーメッセージが表示されない不具合が発生しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
If textbox1.Value = "" Then Exit Sub MsgBox "キーワードが未入力です", vbExclamation これでは If textbox1.Value = "" がTrueの場合にはこのマクロの実行が終了してしまい、 If textbox1.Value = "" がFalseの場合には次のステートメント MsgBox "キーワードが未入力です", vbExclamation が実行されてしまいます。 次のように修正してみて下さい。 If textbox1.Value = "" Then MsgBox "キーワードが未入力です", vbExclamation Exit Sub
その他の回答 (1)
- Tofu-Yo
- ベストアンサー率33% (36/106)
回答No.1
(1) If textbox1.Value = "" Then Exit Sub MsgBox "キーワードが未入力です", vbExclamation だとtextbox1.Value = ""であった場合にすぐsubを出てしまいます。 逆にtextbox1.Valueが""じゃないときにはこのif文が単にスルーされてMsgBoxを表示してしまいますね。次のようにしてみてください。 If textbox1.Value = "" Then MsgBox "キーワードが未入力です", vbExclamation Exit Sub End If textbox1.Value = "" であった場合にMsgBoxを表示してその後Subを出るという意味になります。
お礼
OKWAVEのビギナーなもので、ここにお礼が書けるとは知りませんでした。助かりました。ありがとうございます。まだVBAを勉強し始めたものです。本屋に行っても、基本ばかり書かれている本は山のようにありますが、イザこの機能はどうやって、となると殆ど役に立ちません。 そんなわけで、こんな機能はどうやって組むのか、と自問自答とコピペを繰り返しながら試行錯誤の毎日です。またネットで見かけたら質問に答えてやってください。よろしくお願いします。