• 締切済み

エクセル2003で入力規則を使った場合、思った結果が出ない

エクセル2003で入力規則を使った場合、思った結果が出ない A1セルに日付を入力します。但し入力規則を使って指定期間のみ入力可能としています。 指定期間とはB1セルとB2セルの日付の期間という意味です。 例えば、B1セルに2010年7月10日-B2セルに2010年8月10日とあれば、両日を含む、その期間です。 但し、B1セルとB2セルに入る日付はVLOOKUP関数にて別のシートより転送しています (ファームコントロールボタンを使って) そこで、A1セルに日付2010年7月15日を入力することが出来ます。 また、指定期間外(例-2010年7月9日)で入力すると、指定期間しか入力できませんと エラーメッセージがでます。 ここで A1セルより先に、B1セルとB2セルに日付が入ってる場合は、A1セルに入力規則通りの効果があるのですが A1セルに日付が入力されたままで、ファームコントロールボタンを使いB1セル、B2セルに違う日付を選ぶと A1セルの日付が期間外でも残ってしまいます。 この場合でも、A1セルに入力出来ないように、且つエラーメッセージが出るように出来ないでしょうか。

みんなの回答

回答No.4

一般機能における妥協案です。 A1セル ユーザー設定 =AND(B1<=A1,A1<=B2,B1<>"",B2<>"") [ ]空白を無視する のチェックを外す さらに、B1,B2セルには =A1="" と作りたいところですが、、、 >VLOOKUP関数にて別のシートより転送しています なのでボツ さらに(ファームではなく)[フォーム]のコントロールは入力規則が及びません。 よって、条件付き書式で指定期間外になった場合、 セルの色を赤くするなどの処置をとってはいかがでしょうか また、たとえばA2セルに =IF(COUNT(A1,B1:B2)<>3,"",IF(AND(B1<=A1,A1<=B2),"","◆指定期間外◆")) なんて数式も入れておくとよいかもしれません

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.3

ワークシートのオブジェクトに、以下のコードを貼り付けてはいかがでしょうか。 Private Sub Worksheet_Change(ByVal Target As Range) Dim Ret As Long If Range("A1").Value = "" Then Exit Sub If Range("A1").Value < Range("B1").Value Or Range("A1").Value > Range("B2").Value Then Ret = MsgBox("入力した値は正しくありません。" & vbCrLf & vbCrLf & "ユーザーの設定によって、セルに入力できる値が制限されています。", vbCritical) Range("A1").Value = "" Range("A1").Select End If End Sub

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

お望みのことは入力規則で行える限界を超えた機能です。 自由に期間設定するならマクロで対処するしかないでしょう。

回答No.1

こんにちは。 フォームのコントロールボタンを押した時にチェック処理を追加するしかないと思います・・・。 マクロで。

関連するQ&A

  • Excel 入力規則の複数指定について

    1つのセルに対し、複数の入力規則は出来ないのでしょうか? 例えば、Excelシートで A1に学校名を入力 B1に入学する年(西暦) C1に入学する月 を入力させたいのですが、 A1に学校名が入力されてなかった場合、 B1とC1は入力規則でエラーメッセージを出して入力不可にしたいのです。 逆に、A1に学校名が入力された場合、 B1には、入力規則で適切な西暦だけを入力可能にしたいのです。 C1には、入力規則で適切な月だけを入力可能にしたいのです。 適切な西暦や月が入力されなかった場合は、 入力規則でエラーメッセージを出して入力不可にしたいのです。 ちなみに現在使用している仕様は「WinXP、Excel2003」です。 Excel初心者なので、VBAは分かりません・・・。 関数は、少々分かりますので、入力規則以外でこの様な 複数指定の方法が出来るのでしたら、教えていただけないでしょうか? なにとぞ、ご教授のほど宜しくお願い致します。

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

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

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

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

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

    エクセルのデータの入力規則を使って、A1セルが空白の時、B1セルに入力しようとすると注意メッセージが出るようにしました。 さらにわかりやすくするために、注意メッセージ表示とともに「A1セルを色付き表示する」ことはできな いのでしょうか? (ここが空白だから入力できないんですよ!…というようにさらに色で示したいのです) 恐れ入りますがよろしくお願いします。

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

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

  • 入力規則は更新されない?

     A1のセルに「あいうえお」  A2のセルに「かきくけこ」と入力してあります。  B1のセルには入力規則を使用し、A1・A2のセル内の文字しか選択できないようにしています。  私は、B1にリストから選択し、「あいうえお」の文字を選択しました。  しかし今日、A1に入力してあるセルを「さしすせそ」と変更しました。  しかし、B1のセル内のも字は更新されず、まだ「あいうえお」のままでした。  もう一度B1の横の▼ボタンをクリックすれば、リスト内の文字は「あいうえお」の文字は消え、「かきくけこ さしすせそ」と変わっていました。  今回は実験なので入力規則も少ないのですが、今度、何百というデータを扱います。    入力規則に設定してある文字を変更しても、リストから選択している文字は更新はされないのでしょうか?いちいち▼ボタンをクリックし、再選択しなければならないのでしょうか?  自動的に変えられる設定があれば教えて下さい。

  • EXCELの入力規則に関して

    EXCEL 2003 で簡単な品物の管理表を作成しています。 例えば、品目としてパソコンがあり、品番としてAとBが有ったとします。 "パソコン"はセルにそのまま表示させ、品番は入力規則でAとBと書かれたセルを参照させ、ドロップダウンリストで選択するような作り方をしています。 このような場合での質問です。 1)入力規則で別シートのセルを参照先とすることはできますか。 2)参照先を作成せずに、ドロップダウンリストを作ることはできますか。(値一覧をセルやデータに内包するような感じです) 3)入力規則を複数のシートにコピーし、片方の値を変更した場合、別シートの同じ入力規則の値も連動して変更させることは出来ますか。 入力規則の機能では作りきれない部分も有るかとは思いますが、なにか良いアイデアがあればご提案いただくと有り難いです。

  • エクセルの入力規則にかわるもの

    いつも大変お世話になっております。 エクセルの入力規則をよく作成し使用していますが、表示か8個までで8個以上は▼などで選択していますが、できれば、例えば、20行ある場合20行表示させたり、50行ある時は20行くらいずつ表示をさせたいです。 自分なりに調べたら、フォームコントロールやコンボボックスなどがでてきました。ですがイマイチやり方がわかりません。 やりたいことは、シート2に入力規則のリスト用に品名など名前を付けて、シート1のセルA3に、入力規則→リスト→名前、など登録してあります。シート1のセルA3で選択するときに、シート2で【名前】と登録したものがでます、シート1のセルA3を選択した際に名前がすべて出したいです。ほかには、【品名 1】と【品名 2】もシート1の決まったセルに半分くらいずつ表示させ選択したら選択したものが表示されたいです。 説明が上手くなくすみません。 フォームコントロールなどでできるようでしたら、ご教授お願い致します。

  • EXCELで入力規則を使って問題を作りたい

    タイトルどうりなんですが EXCELで入力規則を使って問題を作りたいのです A列に漢字を入力して B列にひらがなで読みを入力させる もし 読みが間違えていたら エラーメッセージを出したい 正解の場合はそのまま したのセルに進める というものを作りたいのですが よろしくお願いします

  • 入力規則プラス保護

    Excel2000を使用してます。 例として、 セルB3に「入力規則」で日付のみの入力にします。 セルA3に関数が入っていて、それをドラッグ&ドロップでセルB3にするとその関数がコピーされます。 目的は、セルB3の入力は、必ず日付のみです。 その他は、一切受け付けない状態にするにはどうしたらよいでしょうか? よろしくお願いします。

専門家に質問してみよう