• ベストアンサー

エクセルVB ポップアップウィンドウを出す方法

特定の列のセルに、特定の文字が入力された際に、注意を促すポップアップを表示させるのは可能でしょうか??? 例えば、 C列(3~50)もしくは、E列(3~50)のどこかに「あいう」と入力した際に、「あいう注意」 C列のどこかに「かきく」と入力した際に、「かきく注意」 ポップアップは、「OK」ボタンで終了 それ以外の、文字を入力した際は、ポップアップは出現しないというのは可能でしょうか? VB初心者のため、宜しくお願い申し上げます。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2の補足質問について・・・ 方法は何通りかありますが、 >If Target = "あいう" Then の行を >If InStr(Target, "あいう") > 0 Then または >If Target Like "*あいう*" Then にしてみてください。 これで「あいう」が含まれている場合はメッセージボックスが表示されます。m(_ _)m

nao-nao1990
質問者

お礼

何度も、ご丁寧に、ありがとうございます。 思い描いていたものが完成いたしました。 また、何かありましたら、宜しくお願い致します。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

続けてお邪魔します。 >セルに入力した文字が消えてしますのですが >そのまま残すことは可能でしょうか とありますので・・・ 前回は余計なお世話を焼いてしまったようですね! 単に注意喚起だけで、「あいう」「かきく」は入力してもよい!ということですよね? そうであれば前回のコード内に With Target .Value = "" .Select End With の4行が2か所ありますので、両方とも削除してみてください。 これでメッセージは表示されますが、データはそのまま表示されます。m(_ _)m

nao-nao1990
質問者

補足

ご丁寧に、ありがとうございます。 もう一つ、ご質問なんですが、 セルに「あいう」という言葉が含まれる場合に発動させることは可能でしょうか? 通常の関数(countif等)であれば、「*あいう*」と指定すれば、できると思うのですが VBでは違うようです。 何か方法が、あればご教唆頂けますか? お手数おかけ致しますが、宜しくお願い致します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim myArea1 As Range Dim myArea2 As Range Set myArea1 = Range("C3:C50", "E3:E50") Set myArea2 = Range("C:C") If Application.Intersect(Target, Range(myArea1, myArea2)) Is Nothing _ Or Target.Count <> 1 Then Exit Sub If Target = "あいう" Then If Not Application.Intersect(Target, myArea1) Is Nothing Then MsgBox "あいう注意", vbExclamation With Target .Value = "" .Select End With End If ElseIf Target = "かきく" Then If Not Application.Intersect(Target, myArea2) Is Nothing Then MsgBox "かきく注意", vbExclamation With Target .Value = "" .Select End With End If End If End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

nao-nao1990
質問者

補足

ご丁寧に、ありがとうございます。 早速、試行させて頂いたのですが セルに入力した文字が消えてしますのですが そのまま残すことは可能でしょうか? お手数おかけ致しますが、宜しくお願い致します。

関連するQ&A

専門家に質問してみよう