セルに誤って入力した時のメッセージ表示

このQ&Aのポイント
  • セルに誤って入力した時のメッセージ表示方法として、入力規則やモジュールの設定が考えられます。
  • 具体的な誤り例として、休日なのに平日の算定区分で入力した場合と、平日なのに休日の算定区分で入力した場合の2パターンがあります。
  • 誤って入力した場合には、誤り確認フラグとしてF列セルに値を入れることができます。
回答を見る
  • ベストアンサー

セルに誤って入力した時のメッセージ表示

 いつもお世話になっております。  セルに誤って入力した時に、メッセージを表示する方法をご教示ください。  誤って入力した場合を具体的に説明しますと、休日なのに平日の算定区分で入力した場合、その逆で平日なのに休日の算定区分で入力した場合の2パターンがあります。  誤り確認フラグとしてF列セルに「休日なのに平日の算定区分で入力した場合」は1を、「平日なのに休日の算定区分で入力した場合」は2を、正しい場合は0が入るように関数設定をしました。  入力するセルは約200あり、誤って入力した場合即座にメッセージで「誤っています」と表示させたいと考えています。  入力規則でもできそうな感じはしますが、モジュールで設定したいと考えています。モジュールで設定したいのは、他の作業に応用したいためです。  ご教示をどうぞよろしくお願いいたします。

  • ankle
  • お礼率43% (80/182)

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.1

具体的なセルの位置が分からないので A1からA100にデータを入力したらE列の同じ行のセルに1か2が表示されるとして、該当するシートに以下を記載して試してみてください。 A1からA100以外のセルを編集しても何も起こりません。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub Else Application.EnableEvents = False Select Case Cells(Target.Row, "E").Value Case 1 MsgBox "誤っています休日です", vbCritical Case 2 MsgBox "誤っています平日です", vbCritical Case Else End Select End If Application.EnableEvents = True End Sub

ankle
質問者

お礼

kkkkkmさん、いつも丁寧にご教示くださいまして誠にありがとうございます。 早速試してみたいと思います。

ankle
質問者

補足

kkkkkmさん、いつもお世話になっております。 教えていただいた内容を基本として、実際使用するエクセルシートに合った内容へとカスタマイズしました。 おかげさまで、希望通りの動作になりました。 今後とも、どうぞよろしくお願いいたします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>モジュールで設定したい この表現見たことない。プログラム(最低ではVBA)で組みたいということか? ーーー 我流の理解で、適当に単純化して、VBAで下記をやってみた。 素人っぽいと笑われそうですが。 データ例 Sheet1 B列 セルにデータを順次入力。 D1,E1  データ基準日 2022/2/6(その日のつど変える)データ基準日は見出し文言 Today,Dateよりも日付を入力する方式を勧める。 入力コードテーブル=>初めに作っておく。 (下記内容は我流。質問には詳しく書いてない=>初心者らしい点。本当はここによって、VBAの難しさが決まる) 平日 (G列)休日(H列) 1 11 2 12 3 14 4 25 平日 と休日で共通コードはないとする(私の勝手な仮定です)。 === Sheet1のChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub ’B列入力以外は何もしない you = Weekday(Range("e1")) MsgBox you If you = 1 Or you = 7 Then kyuu = "Y" '休日 Else kyuu = "N" '平日 End If MsgBox kyuu '--- Select Case kyuu Case "Y" Set fnd = Range("H2:H6").Find(Target) If fnd Is Nothing Then MsgBox "休日として誤り" End If Case "N" Set fnd = Range("G2:G6").Find(Target) If fnd Is Nothing Then MsgBox "平日として誤り" End If End Select End Sub (注)Msgboxの有無(省略)や文言は適当に変えてください。 ==== 本当(実務)は、上記のように単純には行かない場合がほとんどで、複雑化するのだろう。 質問者は質問の書き振りから、VBAのイベントというのも使用は未経験ではないか? また上記仮定の単純でない場合のVBAをどう組むかなど自力で組めるかな。 だから本件は現状では、質問者には無理ではないかと推測する。

ankle
質問者

お礼

 imogasiさん、ご教示ありがとうございます。  また、いろいろとご指摘をいただきまして、ありがとうございます。  では、早速ご教示いただいた内容で試してみたいと思います。

noname#252888
noname#252888
回答No.2

マクロ化出来ると思いますが、 言いたいことが伝わってこないです。 具体的なものって、F列を誤り確認フラグで使うという事しか分かりませんもの。 それ以外全然全体像が分かりません。 どこかに算定区分の入力エリアがあって、どこかに日付も有るのだと思います。 Excelを添付できるのか解りませんが、Excelを添付してイメージを持たせてもらうか、Excelが添付できないのなら画像ファイルを添付してもらえれば全体像が分かると思います。

関連するQ&A

  • エクセル入力規則の入力メッセージ

    はじめまして。表記の件につきまして質問させてください。 入力規則で入力メッセージを複数のセルに設定し、そのうちのひとつの入力メッセージの表示位置をドラッグして変更した場合、そのほかのセルに設定した入力メッセージの表示位置もすべて変更したセルの表示位置に変わってしまいます。 A1、B1、C1に入力メッセージを設定して、A1の表示位置を移動させるとB1、C1に設定したメッセージもA1のメッセージ位置に表示されます。 入力メッセージの表示位置を自由に変えることはできないのでしょうか。

  • エクセルで入力規則設定をしてもメッセージが表示されません

    エクセル2003を使っています。エクセルで入力規則という機能を使ってメッセージを表示させたいのですが、表示できません。下記の他に何か設定があるのでしょうか? データ→入力規則→設定で入力値の種類選択し、データと値設定→入力時メッセージでセルの選択時にメッセージを表示するにチェックしタイトルとメッセージに文言を登録→OK と設定したのですが、入力規則を設定したセルを選択してもメッセージが表示されません。 どなたか、表示できるように教えてください。

  • セルに1-4と入力したときに(1-4)と表示させるには?

    エクセル2003でセルに1-4と入力してEnterを押すと1月4日と表示されてしまいます。 セルの書式設定→表示形式→分類→ユーザー定義を利用して、1-4と入力したときに(1-4)と表示させるにはどうすればいいでしょうか?

  • Excel VBAを使って、あるセルに入力したコードに対応する品名を表

    Excel VBAを使って、あるセルに入力したコードに対応する品名を表示しようとしています。 1.コードと品名のマスターテーブルがsheet1にあります。 2.sheet2のあるセルにコードを入力したら横のセルにsheet1から品名を引っ張って表示します。 以上をsheet2のモジュールとしてworksheetのchangeを使ってコードしました。すると、以下の問題点 があり、ご教示下さい。当方、8年前に一回だけVBとC++Builderを使って統計処理プログラムを 組んだことがありますが、元DOS系であり、ソフト自体久しぶりですっかりさび付いています。 1.コードを入力するとchangeがかかってモジュールに飛んで、処理はできます。しかし、  プログラムで品名を書き込むと、また、changeが発生して、処理を中断して、モジュールを抜け、モジュールに再突入してくる。 2.とりあえず、staticのフラグでこの処理を切り分けましたが、正直、ダサいです。 3.名前を書き込む前に、changeイベントを禁止にすればと思うのですがその方法もわかりません。 4.普通、このような目的の場合、どのような方法をとるのでしょうか。 よろしくお願いします。

  • エクセルのセル空白時にセルを色付け+メッセージを表示

    エクセルのセル空白時にセルを色付け+メッセージを表示 エクセルのセルが空白時にアラートのメッセージが上がるようにしたいと思っております。 セルが空白時に色が変わるようにはできるのですが、合わせて「○○を入力して下さい」等、 アラートのメッセージが表示できないかな・・・と考えております。 そんな事ってできるの!?と思いつつ、何だかできそうな気もしており、 一縷の望みにかけて、どなたか詳しい方教えていただけますと助かります。 よろしくお願い致します。

  • メッセージボックス表示

    VBAでメッセージボックスの表示方法で教えてください。 あるセル、例えばA1に”111”と入力されたらメッセージボックスで ”○○”と出したい場合はどうしたらいいですか。 あと、A1からA3に”111”と入力された場合の複数セルの場合も教えてください。

  • エクセルで(2)などをセルに入力したら表示が-2と表示されてしまいます。

    エクセルで(2)などをセルに入力したら表示が-2と表示されてしまいます。また、書式設定で文字列として入力してもセル左上にエラーとして表記されてしまいます。この両方を解決する方法をご存知の方ご教授願います。

  • Excelで入力規則の入力時に表示されるメッセージについて

    Excel2000を利用しています。 入力規則の設定で入力時メッセージを設定すると 表示されるメッセージ欄(アクティブセルにするとポップアップされる黄色い枠)の サイズ変更は可能ですか? コメント機能で、表示されるものは、サイズ変更可能ですよね。 同じようにサイズ変更が可能かどうか知りたいので、よろしくお願いします。

  • Excelのセルの表示について

    セルに数式を入力し、数値を入力すべきセルに何も入力しなかった場合、数式の結果のセルには書式設定の「通貨」および「数値」の設定では『0』、「会計」では『-』と表示されます。このセルを数値を何も入力しなかった場合は空欄にしたいのですが、その設定方法をご教授ください。

  • 空白セルのメッセージボックスでの知らせるマクロ

    はじめまして。下記のExcelについて教えてください。 セルA1からA10の間にデータが入力されているセル、入力されていないセルが混在している場合、データが入力されていないセルをメッセージボックスで知らせるマクロの作成の仕方を教えてください。 空白セルが2つある場合はメッセージボックスは2回表示されます。 ずっと考えていても、分からなくて。。。どうか教えてください。

専門家に質問してみよう