• ベストアンサー

Excelの「入力規則」を計算結果の値に適用する方法はありますか?

エクセル2002を使っていますが、 入力規則を使って一定以上の値の入力があると はじくように設定は出来ますが、その値が数式の計算結果の値ではじくようにするにはどうすれば良いでしょうか? 「はじく」とはダイアログボックスで警告表示が出現するようにしています。 入力規則以外の機能で「警告表示」が出せるまたは、該当するセル表示を変更するにはどうすればよいでしょうか?

  • hie9
  • お礼率33% (4/12)

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.6

Wendy02さん、ご指摘ありがとうございました。 数式のエラーやVBAが後付になった場合で規定値が範囲外の可能性はまったく想定外でした。勉強になりました。 というわけでhie9さん、以下のように修正させてくださいませ。 Private Sub Worksheet_Calculate() If IsError(Range("A1")) Then MsgBox "式にエラーがあるのでは?", vbCritical, "( ̄□ ̄; ?" Exit Sub End If If Range("A1").Value >= Range("C1").Value Then MsgBox "規定外の値です!", vbCritical, "Σ( ̄ロ ̄lll)" With Application .EnableEvents = False .Undo .EnableEvents = True End With End If End Sub

hie9
質問者

お礼

hie9です。 merlionXX様、大変助かりました。 頭の中に描いていたのですが、出来なくて(^^ゞ VBA等もっと精進しないといけないと感じました。 ありがとうございました<(_ _)> また、よろしくお願いいたします。

その他の回答 (5)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

merlionXX さんへ Wendy02です。 余計なお世話かもしれませんが、 #2 のコードの Calculate イベントは、 Application.EnableEvents =False /Application.EnableEvents =True で囲んだほうがよいのと、A1 の数式のエラーは、IsError か、On Error Goto で、マクロそのものを実行時エラーで停止させないほうがよいと思います。 EnableEvents は、既に、A1 が該当値になっている後に、取り付けた場合は、特に問題はないのですが、最初に該当値になってなくて、そのままイベントを実行してしまうと、Undo があるので、無限ループになる可能性があるのではないか、と思います。 ご気分を害されたらすみません。

hie9
質問者

お礼

hie9です。 Wendy02様、大変丁寧な補足ありがとうございました。 私にはサッパリわかりませんが、助かりました(^^) ありがとうございました<(_ _)> またよろしくお願いします。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

hie9さん、こんばんは。merlionXXです。 >「100以上になったら警告」の「100」を任意のセルの値以上になったら警告を表示するようには出来るのでしょうか? できますよ。 仮にC1セルの値以上になったらでしたら If Range("A1").Value >= Range("C1").Value Then としてみてくださいませ。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

入力値の種類で ユーザー設定を選んで (入力規則のセルがA1、制限値のセルがC1だとすると)数式に =A1<C1

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

仮に計算式がA1に入っており、計算結果でA1が100以上になったら警告のメッセージを出し、入力を取り消します。(入力欄も同じシート内とします) 以下の手順をためしてみてください。 ご希望の動きをすると思います。 1. 該当のシートのタブを右クリックし、[コードの表示]。 2. 出てきた所に、以下のコードを貼付けます。 Private Sub Worksheet_Calculate() If Range("A1").Value >= 100 Then MsgBox "規定外の値です!", vbCritical, "Σ( ̄ロ ̄lll)" Application.Undo End If End Sub 3. 右上の × でExcelの画面に戻ります。 計算開始

hie9
質問者

補足

merlionXX様> ご回答頂きまして、ありがとうございます。 追加しまして、お伺いしたいことがあります。 「100以上になったら警告」の「100」を任意のセルの値以上になったら警告を表示するようには出来るのでしょうか? お願い致します<(_ _)>

  • wakap
  • ベストアンサー率14% (13/89)
回答No.1

該当するセル表示を変更する、でよければ、 「条件付き書式」でセルの背景色を変えるなどの設定ができますよ。 メニューの書式→条件付き書式 を見てみて下さい

関連するQ&A

  • [Excel]入力規則の数式が計算されずエラー表示も出ないようになりま

    [Excel]入力規則の数式が計算されずエラー表示も出ないようになりました お世話になります。(先日もこちらではお世話になりました。ありがとうございます。) EXCEL 2007 を使用しています。 入力規則を使用して数式を実行したいと思い 初めて[入力規則]-[ユーザー設定]-[数式]欄に数式を書いて結果を得ようと してみたのですがエラーとなってしまいました。 数式に間違いがあるらしいエラーだったため何度か数式を見直し・やり直したのですが、エラーでした。 入力規則ではなく普通のセルにこの数式を入れると問題なくほしい値が帰ってくるので、 なぜ入力規則では、エラーが出るのか分かりません。 また、何度も入力規則をやり直しているうちに エラー表示ウィンドウが出なくなりました。出ないだけなら成功したと思うのですが、 エラーウィンドウが出ないだけで、数式は実行されません。 入力規則の全ての値をクリアにしてから再度 設定、式を入力しても エラー表示ウィンドウも値も出てきません。 試しにA1セルに簡単な数式を入力規則で行ってみました。 =1+2+3 とか =SUM(B1:D1) (↑値は6になる) これでもエラーも数式の結果となる値もでません。 ちなみに入力規則のリスト表示など他の機能は問題なく値が帰ってきます。 何か間違っているのでしょうか? ちなみに入力規則に記入したかった数式は↓になります   =IF(INDIRECT("F"&ROW())>0,ROW()-2," ") 数式の説明: ・もしF列のこのセルと同じ行に何か値が入っていれば【行-2】になる値を表示   A3セル 入力規則を適用   F3セル 何か値が入っている   A3セル A3といのは3行目のことだから 3-2=1 となり、計算結果の 1 が表示される ・もしF列のこのセルと同じ行に何も値が入っていなければ空欄のままにする というものです。 お分かりになる方いらっしゃいましたらご教授下さい。 よろしくお願い致します。

  • エクセルの入力方法 

    エクセルで表を作成していますが、一つのセルに設定した数式や入力 規則などを複数のセルにコピ- 一つのセルの入力値を変更したとき に複数のセルの値も同時に変更出来る方法を教えて下さい。

  • エクセルで関数を入力するとセルに計算式が表示されてしまいます。

    エクセルの初心者です。使用しているのはエクセル2003です。 ダイアログボックスから関数を入力し、ボックス内でも「数式の結果」が正しく表示されているにも関わらず、セルには数式がそのまま表示されてしまい、結果(戻り値)が表示されません。 自分で作った表では同じ手順で結果が正しく表示されるのですが、表示されない表は、他の人が作ったものなので、どこをどういじったらよいか分かりません。 手持ちの参考書からも探せずに困っています。 どうぞよろしくご教示下さい。

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

    エクセルでAの列1~20に入力規則により、その列に同じ数値を入力すると警告が出る様に設定しました。同じように重複してAの列1~20に数字の1~100までの数値以外を入力したら警告が出る様にも設定したいのです。 この様に入力規則を同じセルに複数設定できますでしょうか?お教えください。

  • エクセル 入力規則 リスト以外の値も入力したい

    エクセルの入力規則でドロップダウンリストボックス以外の 値をセルに入力すると『入力した値は、指定のリストからではありません』とエラーが出てしまいますがリスト以外の値も入力したい事 もあります。どうしたら良いですか?

  • Excelの入力規則でリストの値を選択できません。

    Excelの入力規則でリストの値を選択できません。 環境:WinXP Excel2003 表内のセルに入力規則でリストを設定しました。 リストは場所指定ではなく、入力規則タブのリスト欄にカンマで区切って直接値を入力しています。 リストの内容はメールアドレス用のドメインです。 ("@docomo.ne.jp,@softbank.ne.jp"というふうにドメインをリストにしています) 表は下記のような作りになっています。 A1セル:アカウント 直接入力 A2セル:ドメイン ドロップダウンリストから選択 ドロップダウンリストは正常に表示されるのですが、値を選択してもセルには何も表示されません。 試しにリストの値を"a,b,c"に変更したら正常に選択・表示されました。 ※添付画像のような状態から値を選択してもセルには何も表示されません 値が選択できないのは何が原因でしょうか? ご教示宜しくお願い致します。

  • EXCELの入力規則に関して

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

  • エクセル 入力規則について教えてください

    エクセルで顧客管理をしています。 C列に顧客名を入力していくのですが、 同じ顧客のデータは1行にまとめたいため、 C列には同じ名前が入力できないようにしたいのです。 C列全部に データ→入力規則→設定→数式  =countif(c:c,c1)=1 と、入力規則を設定しました。 この後、ダブリ入力をすると警告のメッセージボックスが出るようになったのですが、 中にはまったく同じ顧客名なのに入力できてしまったり、 また同じ名前はないのに、入力できなかったりします。 これは何が原因なのでしょうか? どうしてもダブリ入力はできないようにしたいのですが、他に何か方法はないでしょうか? 入力規則のようなものをVBAではできますか??

  • Excel 2003 計算結果をそのまま数字に

    Excel 2003で、A1に計算結果を求める式を 入力をするとします。 他のセルに入力されている値を足したり 引いたりして 例えば A1の計算結果が2となるとします。 答えが出た後に 計算過程は不要なので 他のセルの数字をすべて消した場合 A1の値はゼロになってしまいますよね。 このとき他のセルの値を消しても 計算式の答えがそのまま数値として残すことは出来ないでしょうか? A1に入力した計算式などを残す必要は全くないので 2という数字を残したいです。 セルの書式設定なんかを色々さわってみましたが どうやら目の付け所が全く違うみたいで どうしてもセルに数式が残ったままで 他のセルの値を消すとA1もゼロになります。 Excelに詳しい方教えてください。

  • 戻り値でも入力規則を生かせる方法はありますか?

    こんにちは。エクセル関数初心者です。 エクセルで関数の戻り値を表示するセルに入力規則が設定されているのですが、それが生かされません。 そのセルに直接その値を入力すればエラーメッセージが出ます。 戻り値でもエラーであれば、メッセージ、あるいは何らかの表示(セルの色が変わるとか・・・)が出るようにはできないものでしょうか? アドバイスをいただけると嬉しいです。 よろしくお願いいたします。

専門家に質問してみよう