• ベストアンサー

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

  • エクセルの入力規制について

    エクセルの入力規制について質問です。 例えば、『「B1」セルに「A1」セルより大きな値が入力された場合は、 エラーメッセージを出し、入力できないようにする』ということは、 入力規制の設定で可能ですが、この「B1」セルが「C1」~「E1」の 合計値である「=sum(C1,E1)」とした場合でも、「A1」より大きな値と なった場合にエラーメッセージ+入力規制をかける事(この場合、B1は 合計値ですので「C1」~「E1」に対して)は可能でしょうか? 数式を入れただけでは、合計数がオーバーしてもエラーメッセージも 出ず、入力されたままの状態となり、不便を感じており何とか できないものかと思っております。 「B1」が「A1」セルより大きくなった場合にセルの色を変えるなど、 条件式書式は設定できますが、入力はできてしまうのでやはり入力規制 とエラーメッセージが出るのがベストと考えておりますが、こういった 数式結果の入力規制のやり方及び同様の規制方法をご存知の方が いらっしゃれば、ご教授のほど宜しくお願いいたします。

  • Excelの入力規制について

    初心者の質問ですみませんが、 セルA1:C3までに、1か3か10以外の数字が入力されて場合に エラーメッセージをだして入力できないようにしたいのですが どうすればよいでしょうか

  • エクセルの入力規制について質問します。

      A      B      C      D 1 (AB列を結合したセルA’)(CD列を結合したセルC’) 2 3 セルA’とセルC’には、それぞれ数字を入れます。 セルC’に数字が入ってるときに、セルA’に数字を入れることができないようにするために、セルA’に「入力規制」をしようとしました。 やったこと セルA’1に、「入力規制」→「ユーザー定義」で、数式のところに「セルC’1>0」 結果 セルC’1に数字が入っていないときに、セルA’1に数字を入れても入力エラーが出る。 どうすれば、エラーが出ずに、思ったとおりの入力規制ができるのでしょうか?ご教授いただければ幸いです。

  • エクセルのデータの入力規則について

    エクセル2013を使用している初心者です。 以下の入力規則をしています。 (1)A1セルが「aもしくはb」の場合、B1セルに入力しエンターを押すと、警告文が出て入力出来ない。 (2)A1セルが「c」の場合、B1セルに「1,000」と金額が入力出来る。 ここまでは良いのですが、 (2)の状態でA1セルを「aもしくはb」に変更した時、B1セルに「1,000」と金額が入力されたまま残ってしまいます。 この時に「エラー!金額が入力されています」等のメッセージを表示させる事は可能なのでしょうか。 A1セルが「c」の場合、普通に数字を入力するので、セルに関数は入れられないと思うのですが。。。 因みにマクロは全くの初心者です。

  • エクセル 入力規則設定方法

    全角のみで25文字以内の設定を行いたいと思っておりますが、 A1のセルに下記の入力規則設定を行った場合 [ユーザー設定]⇒.[数式] =AND(A1=JIS(A1),LEN(A1)<=25) 先頭からいくつか数字(全角でも)のみが並ぶとエラーになってしまいます。 また、 [文字列長さ]⇒.[最大値] 25以下 この場合も、数字のみですといくらでも入力が可能であり、しかも16番目の数字が0(ゼロ)に 変化してしまいました。 どこか、何かの設定方法が悪いと思うのですが、 本来設定したい内容としては、 ●そのA1セルに、半角英数字を入力しても全角に変換し、文字数としてカウントする。 ●上記のように、数字のみが10個並んだとしても許可して全角文字に変化させる。 これを設定したいのです。 どうか教授いただけないでしょうか。 宜しくお願いします。

  • エクセルの指数の有効数字のみ抜き出し

    セルに A1 2.812500E-04 A2 1.250000E-02 ・ ・ の様な数字が入っています。 A1のセルの"2.812500"、"-04"という数字を抜き出して、別のセルに表示させることは私が知らない関数で可能なのでしょうか?それとも、マクロを組まないと不可能なのでしょうか? ご存じの方がいらっしゃいましたら、ご教授下さい。

  • EXCELでの入力値制御

    エクセルで質問させてください。 あるセルに値を入力する際に、特定の値のみしか入力ができないように制限をかけたいと 思っています。 たとえば、「A、B、C、D、E」という値以外入力できないようにするというような感じです。 「A」のように制限をかけたい値を1つだけ入力するような形なら入力規則でリストを作成すれば 可能であることはわかったのですが、今回は、「AC」のように複数の値を入力したいのです。 このような場合の値の制限のかけ方をご存知のかたがいらっしゃいましたら教えていただければありがたいです。(できれば、VBAは使わない方法で行いたいと思っています。) ちなみにExcel2003です。 よろしくお願いいたします。

  • エクセルの関数をご教授ください

    エクセル2007のやり方(関数?)を教えていただければ幸いです。 (OSはXP) どういう場合のやり方かと申しますと 1. セルAに一定の数字・文字を入力すると、応じてセルBに一定の数字が反映される。 例えば、 (1)A1に「5」と入力すると→B1が「40」となる、(2)A2に「4IIIa」と入力するとB2が「35」になる という具合です。セルAは数字のみでなく文字の場合もあります。セルBは数字のみです。 上のような場合に対応できるようなやり方を教えていただければ幸いです。 2. セルCに一定の数字・文字を入力すると、応じてセルDとEに一定の数字・文字が反映される。例えば、 (1)セルC1に「イ」と入力すると→D1が「4割以上」となり→E1が「20」となる、(2)セルC2に「ロ」と入力すると→D2が「2割未満」となり→E2が「10」となる という具合です。セルCとDは数字のみでなく文字の場合もあります。セルEは数字のみです。 上のような場合に対応できるようなやり方を教えていただければ幸いです。 お知恵を拝借できればと思います。 よろしくお願いいたします。

  • エクセルの入力でセル移動

    MSのエクセルで、セルに指定された文字数を入力したらEnterや矢印キーを押さなくても次のセルに移動させる方法はないでしょうか? 例えばA1セルに入力出来る文字数は3と指定しておきます。A1セルに3文字入力したら、次のセルA2に移動するようにする方法です。入力規則で文字列指定まではできますが、次にセルに移動するにはEnterなどが必要です。これを省略する方法です。 バージョンは2003ですが、2007,2010でできるのでしたらそのバージョンでも構いません。

  • 《エクセル》入力規則について

    いつもお世話になります。 エクセルの列に、入力規則で打ち込めるデータを限定したいのですが、 セルA1の値が"あ"なら、セルB1には"A"・"B"・"C"のみ入力できる セルA2の値が"い"なら、セルB2には"D"・"E"・"F"のみ入力できる のようなことは可能でしょうか。 また、 A1が"あ"B1が"A"の場合は、C1には"い"・"ろ"・"は"のみが入力できる などということも出来ますでしょうか。 ご存知の方がいらっしゃったらお手数ですが宜しくお願い致します。

専門家に質問してみよう