• 締切済み

入力規則プラス保護

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

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

マクロを無効で開かれた場合は想定しないとして。 日付以外が入力されたら、Undo を実行すればよいかと。 対象のシートモジュールに下記のコードをコピペします。 ' // コーディング例 Private Sub Worksheet_Change(ByVal Target As Range)      Dim r As Range      Set r = Intersect(Target, Range("B3"))   If Not r Is Nothing Then     If Not IsDate(r.Value) Then       On Error Resume Next       With Application         .EnableEvents = False         .Undo         .EnableEvents = True       End With       On Error GoTo 0     End If   End If   Set r = Nothing End Sub

mo2005mo
質問者

お礼

回答ありがとうございます。 急ぎだったので、14:00くらいまで待ってみましたが誰も回答頂けないみたいだったので、あきらめました。 その後、確認もせず、17:00過ぎたので締め切ろうと思ったら回答があったので、やってみました。 どうも私のコピペのやり方がヘタなのか、うまく反映されませんでした。 実はVBの知識が乏しく、マクロを使用する想定は、考えていませんでした。 確かに、VBを使えばできそうですね。 もっとVB勉強してみます。 ホントにありがとうございました。

関連するQ&A

  • エクセル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セルに入力出来ないように、且つエラーメッセージが出るように出来ないでしょうか。

  • Excel 入力規則?関数?

    意味不明なタイトルで申し訳ございません。 教えてくださいm(_ _"m) やりたい事は・・・↓ 【例】 ・A1のセルに(1)と入れるとB1とC1とD1のセルは入力可能。 ・A1のセルに(2)と入れるとB1とC1のセルは入力可能だがD1は入力不可能となる。 ・A1のセルに(3)と入れるとB1セルのみ入力可能で、C1とD1は入力不可能となる。 このような事は入力規則を使用してできるものなのでしょうか? 関数との重ね技とか・・・? また、上記の条件が満たせれば入力規則を使わず他の手段でも構わないです。 よろしくお願いします!!

  • セル相対参照で入力規則をコピーしていく

    こんにちは。 お知恵をお貸し下さい。 仕様ソフトはExcel2013です。 今、A1セルに10という値が入っています。 A2~A50までに整数を入力していくのですが、それらがA1の値である10以下となり、それ以外の数である11や20などを入力不可という入力規則を設定します。 A1セルを絶対参照して、「A1の値以下の整数」という設定です。 このようにして、A列はA1以下の整数、B列はB1以下の整数という設定を行っていきます。 B~Z列に関しても上記と同じ設定を行いたいのですが、 B1~Z1までのセルに入っている値がそれぞれ異なるので、単に入力規則をコピーしていったのでは、参照セルがA1のままですので、目的を果たせません。 また、一列ずつ入力規則を設定していったのでは時間が掛かってしまいます。 そこで、参照セルを相対参照しながら入力規則をコピーしていく方法があればよいと考えているのですが、そのやり方を教えて頂きたいのです。 または、もっと違う簡単な解決方法がありますでしょうか。 よろしくお願いいたします。

  • 入力規則で入力値の種類がユーザー設定の状態で…

    Excel2010の入力規則で入力値の種類がユーザー設定の状態でドロップダウンリストを表示する方法を探しています。 あるセルで特定の文字の禁止や、特定セルが空欄の時の入力禁止、文字数制限などで入力規則を設定しています。 ここれを入力もできてドロップダウンリストも選べるようにしたいのですが、入力規則で入力値の種類を「ユーザー設定」にしている場合「リスト」を作成出来ず困っています。 入力値の種類はユーザー設定のままで関数を使用してドロップダウンリストをだせるようにする方法はないでしょうか?

  • EXCELの入力規則に関して

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

  • エクセル:入力規則のリストとセルの関数は同居できますか?

    エクセル:入力規則のリストとセルの関数は同居できますか? 普通にやるとセルの計算式はリストを選んだ時点でリストの文字に上書きされてしまうので困っています。 (例)   A              B         C 1 2008/08/02        =TODAY 2 ▽リスト           OK 3                NG 4 A2のセルにに =IF(A1>B1,"")と書いたとします。 で、さらにA2のセルに入力規則>リストで範囲B2:B4と設定したとします。 要は、A1に記入した日付が未来の場合は、 A2でリストで選択した文字を空白にしたいのです。 が、どうしてもリストの文字に上書きされてしまうので困っています。 やはり、関数を書いてあるセルに文字を書くと上書きされるのと同じですかね? なるべくVBA以外でなんとかしたいのですが、、、。(でもVBAでも可です)

  • エクセルの入力規則

    こんにちは。どうかお力貸してください。 A・Bの列に各数字が入っているとします。       A       B 1   目標値    実績値 2   500      600 3   200      100 4   300      200 5   600      800 この場合、「A2」より「B2」の方が大きい場合、 「B2」を青く表示したいのです。 色々考えて、入力規則で、 「隣のセルより値が大きい時、文字を青くする設定」 をいたしました。 1つ1つ設定していくのは面倒なので、 入力規則のみコピーをしてみましたが はじめの一つの条件でしかコピーされず、 結局1個1個設定しているのですが、数が多く途方にくれています。 ちなみに実際の表はいろんなデータが組み込まれていて すでに関数も入っています。 (「シート1」が一覧になっていてそれに入力すると  グループごとのデータが各シートに分かれて表示する感じです。) 入力規則の上手な使い方や、他の方法など どなたか御存知でしたら教えてください。 よろしくおねがいいたします。

  • EXCELのデータの入力規則を1つのセルで複数設定出来ますか?

    教えてくださいm(_ _)m 現在Excel2003で関数を使った表を作っています。  セルA1に1~30を入力した時に、関数のLOOKUPでセルB1に表示させるように作ったのですが、”データの入力規則”で31以上を入力するとエラーメッセージの停止を表示させるように設定しました。 ところが、A1に30を入れたときにエラーメッセージの注意も表示させる事になったのです。(すなわち、同じセルで入力された文字に対して、別々のエラーメッセージを表示させたいのです。) しかし入力規則の設定が1つしか出来ないようなのですが、複数の入力規則の設定する良い方法はありますでしょうか? よろしくお願いいたしますm(_ _)m

  • Excelの入力規則について

    Excelの入力規則について教えてください。 A1:A20に入力規則を設定します。 入力値の種類にリストを選び、元の位置で、北海道、青森、岩手、山形・・・と都道府県名を20件ほど入力し、設定が完了したとします。 A1セルでドロップダウンして、岩手を選び、次のA2のセルでドロップダウンした時、岩手をリストから消しておきたいのです。 つまり、リストから選んだものは、次のセルでドロップダウンした時、常に消えておくことができるように設定したいのですが、良い方法はありませんか?

  • 関数入力を簡単にしたい

    EXCEL2013を使っています。 (1)シート、(2)シートがあります。 (2)のB4セルに、=(1)B1&B2    B5セルに、=(1)B11&B12 といった感じで、100行関数を入力しようとしています。(他のセルも関数入力する作業があります) これをB4とB5セルを選んで、下にドラッグして関数入力が 自動入力することは、できないですか? (補足的:どこかのセルにオフセットしたい、数値を入力しておいて、その数値をみて +オフセットされる方法もあれば、それも知っておきたいです。) マクロは無しで考えたいです。 単にB4とB5を選んでドラッグすると、 B6セル=(1)B3&B4 となってしまい、うまく+10ずつプラスされていかない状態です 宜しくお願いします。

専門家に質問してみよう