- ベストアンサー
EXCELで特定の文字列を入力→エラー表示したい
- エクセルで特定の文字列を入力した場合にエラーメッセージを表示する方法を教えてください。
- 仕事上で使うシートで、特定の文字列を入力した場合にエラーメッセージを表示したいです。
- 入力規則の設定で特定の文字列の入力を禁止し、エラーメッセージを表示する方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.3です! たびたびごめんなさい。 前回のコードでは「京都府」の場合、「京都」としても「都」が含まれていますので、エラーになってしまいます。 前回のコードの If Target Like "*都" Or Target Like "*府" Or Target Like "*県" Then の行を If Target Like "東京都" Or Target Like "*府" Or Target Like "*県" Then に訂正してください。 検証せずに投稿して失礼しました。m(__)m
その他の回答 (4)
- keithin
- ベストアンサー率66% (5278/7941)
>京都 なるほど,気付きませんでした。 例えばA1セルについて 入力規則の数式で =ISERROR(FIND("都",MID(A1,3,9)))*ISERROR(FIND("府",A1))*ISERROR(FIND("県",A1)) と設定してみます。 若しくは都のNGは東京都しかないのですから,これに(これらに)限って =(A1<>"東京都")*(MID(A1,3,1)<>"府")*ISERROR(FIND("県",A1)) などのようにチェックする手でも良いですね。 #ご存じと思いますが念のため,入力規則のエラーメッセージタブで何故NGなのか理由を記入しておき,次からは皆さんも理解して気をつけて入力してくれる事を期待しましょう。
お礼
「京都」、実は私も気づいていませんでした。 (住所データを扱う上で、3文字の「鹿児島」「神奈川」「和歌山」よりも厄介な県名……) わかりやすく説明していただけて助かります。 >入力規則のエラーメッセージタブで何故NGなのか理由を記入しておき,次からは皆さんも理解して気をつけて入力してくれる事を期待しましょう。 そうなんですよね……。気をつけてくれればいいのですが、みんな自分勝手で困ったものです。 でもエラーメッセージが都度出てくればさすがに気をつけざるを得ないと思うので、今後に期待します。 ご回答ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! すでに回答は出ていますので、参考程度で・・・ VBAでの一例です 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてデータを入力してみてください。 尚、都道府県名はA列・会社名はB列に入力する場合のコードにしています。 もし他の列であればコード内の列番号(Target.Column)の部分の数値を適当に変更してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Target.Column = 1 And Selection.Count = 1 Then If Target Like "*都" Or Target Like "*府" Or Target Like "*県" Then MsgBox "「都」「府」「県」は入力しないでください。", vbExclamation Target.Clear Target.Select End If End If If Target.Column = 2 And Selection.Count = 1 Then If Target Like "株式会社*" Then MsgBox "「株式会社・・・」の場合は、" & vbCrLf & "「カ)と入力してください。", _ vbExclamation Target.Clear Target.Select ElseIf Target Like "*株式会社" Then MsgBox "「・・・株式会社」の場合は、" & vbCrLf & "(カ」と入力してください。", _ vbExclamation Target.Clear Target.Select End If End If End Sub 'この行まで こんな感じではどうでしょうか?m(__)m
- keithin
- ベストアンサー率66% (5278/7941)
例えばA1セルについて 入力規則の数式で =ISERROR(FIND("都",A1))*ISERROR(FIND("府",A1))*ISERROR(FIND("県",A1)) と設定しておくと,都府県を含んではいけないと制限できます。 COUNTIFなどを使っても,同様にして組み立てる事が出来ます。
- yoshijkl
- ベストアンサー率58% (43/74)
都道府県を入力する列の隣にプルダウンで都道府県を選択させる列を作ったらどうでしょう?ちなみに北海道の道は大丈夫なんですか?株式会社の件も、会社名を入力するセルの前に前株、後株、(有)等のプルダウン入力列を設ければ良いのではないでしょうか。後は、csv変換の前に文字列検索でチェックすればほとんどのミスが防げると思います。
お礼
北海道だけは「道」がついたままでOKにしています。(おそらく「東京都」を「東京」と言っても通じるけれど、「北海道」を「北海」と言っても通じないからではないかと) 会社名の両隣にプルダウンで「(カ」などを付けると、会社名と「(カ」でセルを2つ使うことになり、最終的にデータ処理を行う時におかしくなってしまうため不可でした。 セルの結合をすればいいのでしょうが、データ数が膨大なため、手作業で1件ずつセルの結合をしていくのは大変で……。 他のシートやセルに「=a1&a2&a3」 (a1には「カ)」などのプルダウン、a2には「○○物産」などの社名、a3には「(カ」などのプルダウン) として、フルネームで表示しても、やはり見かけ上での回避でしかないので、肝心のデータ処理でエラー……。 ご回答ありがとうございました。
お礼
2度の回答ありがとうございます。 「京都」……気づきませんでしたf(@_@;) 「*都」としても、「最終文字が"都"の場合」という意味にはならないんですね。 解りやすい回答をありがとうございました。