• ベストアンサー

エクセル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

  • ポップアップウィンドウについて

    パソコン初心者の為、言葉足らずかと思いますがアドバイスよろしくお願い致します。 ポップアップウィンドウについてなのですが、ポップアップブロックはしてないので表示はされるのですが、ポップアップウィンドウの情報が親ウィンドウへ反映されません。 例) 懸賞などの応募の住所入力画面で、郵便番号を入力し、 「郵便番号から住所を割り出す簡単住所入力」をしようとし簡単住所入力ボタンを押すとポップアップが出るのですが(ポップアップ画面に住所が出たので)ポップアップ画面内のOKボタンを押しても親ウィンドウに反映されないという状態です。 パソコンの設定やインターネットオプションの設定は初期設定のままで 何もいじってはいません。 システムの復元もしましたが駄目でした。 パソコン自体の一部が故障しているのでしょうか。。 使用しているパソコンは、NECで約5年使用してます。 申し訳ないのですが、 パソコンに詳しくないので初心者でも分かるご回答よろしくお願い致します。

  • エクセルのポップアップを出ないようにしたい

    エクセルにあらかじめ、入力規則を設定していると そのセルにカーソルが来た時に、 ひらがな入力とかカナ入力とかの表示がしばらく出ますが、 その表示が消えるまでの間、そのセルに何が書かれているのか 判別出来ません。 ポップアップを出なくする方法は、ありますか? 当方の環境 エクセル2002 Windows 2000 よろしくお願いします。

  • エクセルVBで特定のセルのデータを削除する方法

    はじめて質問させて頂きます。 エクセルで、特定のセルに特定の入力があった場合に、特定のデータを削除する方法を教えてください。 エクセルのバージョンは、2010です。 VBのバージョンは、7.0です。 例えば、 A1セルに、 1 と入力した際に、C1からG1までのデータを削除する。 A2セルに、 1 と入力した際に、C2からG2までのデータを削除する。                     ・                     ・                     ・ A10セルに、 1 と入力した際に、C10からG10までのデータを削除する。 If Range("A1") = "1" Then Range("C1:G1").Clear End If と、やってみましたが、できませんでした。 宜しくお願い致します。

  • IE6のポップアップブロックについて

    IE6のポップアップブロックについて、お聞きしたいことがあります。 特定のサイトにおいて、ポップアップブロックが働くときとそうでないときがあります。 具体的には、NEXCO中日本のサイト(http://www.c-nexco.co.jp/)で、左上のドライブコンパス(高速道路料金・ルート検索)の出発ICと到着ICの欄に入力し、検索ボタンをクリックした際です。 ポップアップブロックの設定は、「中:ほとんどの自動ポップアップをブロックする」にしています。 「高:全てのポップアップをブロックする」にすると必ず毎回ブロックされますが、中の場合は上記のような状況(されるときとされないときがある)なので、不思議に思っています。 ポップアップブロックのFAQを参照してみたところ、「リンク先に動画などがある場合はブロックされないことがある」とありましたが、これにあたるのでしょうか? また、その程度の(されるときとされないときの基準が曖昧な)機能なのでしょうか? ご回答いただければ幸いです。 よろしくお願いいたします。

  • ATOKのポップアップを消したい

    ATOKのポップアップを消したい ATOKを使っていると、入力文字種を切り替えたときに次のようなポップアップが出ますよね。 「あ」ひらがなで入力します。 これを非表示にする設定があれば教えてください。

  • ポップアップウィンドウを閉じた後・・・

    HPビルダー10を使用してHPを作っていますが、ポップアップウインドウ を閉じる度に開いているページの先頭に戻ってしまいます。 ポップアップのイベントが設定してある場所に毎回戻れる方法って ありますか?ポップアップを設定した方法は、リンクさせたい文字を 反転、リンクの挿入、ファイルのタグのファイル名の欄に#、そのまま イベントボタンを押して、ON CLICで画像参照でポップアップ の設定・・・。という方法をしたのですが・・・。どうかよろしく お願い致します。

  • Excel2010 ポップアップの追加

    Excel2010において ポップアップの項目(担当者の名前)を追加したいのですが、できません。 ポップアップが指定されているセルを選ぶと「データの入力規制」の中の「元の値」が「=担当者名」になっていて、その担当者名のリストに加えればいいのはわかるのですが、すでに入力されているリストの下のセルにただ名前を入れても、もちろんポップアップに追加はされません。 どうしたらよいのでしょう? セルに、「=担当者」という条件の入れ方も、そのセルにそれが条件となっているのかも、そもそもわかりません(泣) よろしくお願いします。

  • Excelを開こうとするとポップアップが

    Excelを開こうとすると、「microsoftアカウントですべてをまとめる」というポップアップが表示されて、そのメッセージの下側に何かボタンがありそうなのですが、画面外になっており見えません。ポップアップを動かせません。ただし、「詳細情報」という文字がギリギリ半分見えるので、そこをクリックしてみえておりクリックしますと、「microsoftデータ、アカウント、選択内容」というページにとびます。しかし、どうしたらよいのかわかりません。画面のメッセージを無視しようにも、背後のエクセル上も反応なしです。強制終了してやり直しても同じになります。 どうしたらよいでしょうか。教えていただけると幸いです。よろしくお願いいたします。 (microsoftの複数のアカウントをクラウドで使っております。)

  • ポップアップの表示

    ポップアップを表示したいのですが、「ポップアップブロックの設定」から「許可するWebサイトのアドレス」にサイト名を入力し、「追加」ボタンをクリックしても、ポップアップブロックの設定をはずしても表示されません。どこにブロックがかかっているのでしょうか?

  • 特定の文字に対してポップアップ表示

    エクセルvbaでセルに特定の文字を含む文字が入力された時に、ポップアップを表示するようにしたいのですが、特定の文字とメッセージ内容は"設定用シート"内のA列に特定の文字、B列にメッセージ内容をセット。 下記のコードでは動作致しません。 どのように修正すれば宜しいでしょうか? Worksheet_Change(ByVal Target As Range) Dim searchRange As Range Dim cell As Range Dim searchText As String Dim message As String ' 設定用シートを参照 Set searchRange = Sheets("設定用シート").Range("A:B") ' 変更されたセルの中で特定の文字を検索 For Each cell In Intersect(Target, Me.UsedRange) searchText = cell.Value If Not IsEmpty(searchText) Then ' 設定用シートで特定の文字を検索 On Error Resume Next ' セルが見つからなかった場合のエラーハンドリング message = searchRange.Columns(2).Find(searchText).Offset(0, 1).Value On Error GoTo 0 ' エラーハンドリングを元に戻す If Len(message) > 0 Then ' ポップアップ表示 MsgBox message, vbInformation, "メッセージ" End If End If Next cell End Sub

専門家に質問してみよう