• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAを勉強し始めたものです。以下のプログラムはネット上の皆様に教えて)

VBAを勉強し始めたものです。以下のプログラムはネット上の皆様に教えて

このQ&Aのポイント
  • VBAを勉強し始めたものです。以下のプログラムはネット上の皆様に教えて頂きながら作成しております。
  • テキストボックスに入力された文字を含むセルに着色するプログラムがあります。
  • しかし、テキストボックスに文字未入力の段階でクリックしてもエラーメッセージが表示されない不具合が発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • ziziwa1130
  • ベストアンサー率21% (329/1546)
回答No.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

crtlcdpdpel
質問者

お礼

OKWAVEのビギナーなもので、ここにお礼が書けるとは知りませんでした。助かりました。ありがとうございます。まだVBAを勉強し始めたものです。本屋に行っても、基本ばかり書かれている本は山のようにありますが、イザこの機能はどうやって、となると殆ど役に立ちません。 そんなわけで、こんな機能はどうやって組むのか、と自問自答とコピペを繰り返しながら試行錯誤の毎日です。またネットで見かけたら質問に答えてやってください。よろしくお願いします。

その他の回答 (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を出るという意味になります。

関連するQ&A