- ベストアンサー
EXCELでの入力規制
A1のセルに何か入力(文字・数字など特に決まった規則はない)があった場合は必ずE1のセルにも入力がなければならないようにしたいのですが、どのようなマクロを作ればいいのでしょうか? A1のセルに何か入力があり、E1に何も入力せず次のA2のセルに入力があった場合E1に入力してくださいとメッセジがでる様にしたいのです。 同じようにA2に何か入力をしてE2に何も入力せずにA3に入力しようとするとE2に入力してくださいとメッセージが出ると。 ご存知のかたがいらっしゃいましたらご教授お願致します。
- みんなの回答 (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
その他の回答 (2)
こんにちは。 そのように設定したいセルを範囲選択します。今回はA2:A3でしょうか。 データ→入力規則 の設定タブで「入力値の種類」をユーザー設定にします。 「数式」に =COUNTA(A1,E1)=2 と入れます。 エラーメッセージタブで「エラーメッセージ」等を好きなように設定してください。 どうでしょうか。
お礼
ありがとうございます。大変参考になりました。
- ASIMOV
- ベストアンサー率41% (982/2351)
こんな感じでしょうか? 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
お礼
ありがとうございます。大変参考になりました。
お礼
ありがとうございます。大変参考になりました。