• ベストアンサー

EXCELでの入力規制

A1のセルに何か入力(文字・数字など特に決まった規則はない)があった場合は必ずE1のセルにも入力がなければならないようにしたいのですが、どのようなマクロを作ればいいのでしょうか? A1のセルに何か入力があり、E1に何も入力せず次のA2のセルに入力があった場合E1に入力してくださいとメッセジがでる様にしたいのです。 同じようにA2に何か入力をしてE2に何も入力せずにA3に入力しようとするとE2に入力してくださいとメッセージが出ると。 ご存知のかたがいらっしゃいましたらご教授お願致します。

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

  • ベストアンサー
  • tuji3
  • ベストアンサー率42% (6/14)
回答No.3

シートのイベントに以下を追加してください。 Private Sub Worksheet_Change(ByVal Target As Range) Dim myRow As Long If Target.Column <> 1 Then Exit Sub If Target.Offset(, 4) = "" Then myRow = Target.Row MsgBox "E" & CStr(myRow) & " にも入力が必要です。" Target.Offset(, 4).Activate End If End Sub

masya1999
質問者

お礼

ありがとうございます。大変参考になりました。

その他の回答 (2)

noname#187541
noname#187541
回答No.2

こんにちは。 そのように設定したいセルを範囲選択します。今回はA2:A3でしょうか。 データ→入力規則 の設定タブで「入力値の種類」をユーザー設定にします。 「数式」に =COUNTA(A1,E1)=2 と入れます。 エラーメッセージタブで「エラーメッセージ」等を好きなように設定してください。 どうでしょうか。

masya1999
質問者

お礼

ありがとうございます。大変参考になりました。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

こんな感じでしょうか? Change イベントに記述するのがミソかな Private Sub Worksheet_Change(ByVal Target As Range)  If Cells(1, 1) <> "" And Cells(1, 2) <> "" And Cells(1, 5) = "" Then   MsgBox ("E1 に入力してください")  End If  If Cells(2, 1) <> "" And Cells(2, 2) <> "" And Cells(2, 5) = "" Then   MsgBox ("E2 に入力してください")  End If End Sub

masya1999
質問者

お礼

ありがとうございます。大変参考になりました。

関連するQ&A