- ベストアンサー
Excelの「入力規則」を計算結果の値に適用する方法はありますか?
エクセル2002を使っていますが、 入力規則を使って一定以上の値の入力があると はじくように設定は出来ますが、その値が数式の計算結果の値ではじくようにするにはどうすれば良いでしょうか? 「はじく」とはダイアログボックスで警告表示が出現するようにしています。 入力規則以外の機能で「警告表示」が出せるまたは、該当するセル表示を変更するにはどうすればよいでしょうか?
- みんなの回答 (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
その他の回答 (5)
- Wendy02
- ベストアンサー率57% (3570/6232)
merlionXX さんへ Wendy02です。 余計なお世話かもしれませんが、 #2 のコードの Calculate イベントは、 Application.EnableEvents =False /Application.EnableEvents =True で囲んだほうがよいのと、A1 の数式のエラーは、IsError か、On Error Goto で、マクロそのものを実行時エラーで停止させないほうがよいと思います。 EnableEvents は、既に、A1 が該当値になっている後に、取り付けた場合は、特に問題はないのですが、最初に該当値になってなくて、そのままイベントを実行してしまうと、Undo があるので、無限ループになる可能性があるのではないか、と思います。 ご気分を害されたらすみません。
お礼
hie9です。 Wendy02様、大変丁寧な補足ありがとうございました。 私にはサッパリわかりませんが、助かりました(^^) ありがとうございました<(_ _)> またよろしくお願いします。
- merlionXX
- ベストアンサー率48% (1930/4007)
hie9さん、こんばんは。merlionXXです。 >「100以上になったら警告」の「100」を任意のセルの値以上になったら警告を表示するようには出来るのでしょうか? できますよ。 仮にC1セルの値以上になったらでしたら If Range("A1").Value >= Range("C1").Value Then としてみてくださいませ。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
入力値の種類で ユーザー設定を選んで (入力規則のセルがA1、制限値のセルがC1だとすると)数式に =A1<C1
- merlionXX
- ベストアンサー率48% (1930/4007)
仮に計算式が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の画面に戻ります。 計算開始
補足
merlionXX様> ご回答頂きまして、ありがとうございます。 追加しまして、お伺いしたいことがあります。 「100以上になったら警告」の「100」を任意のセルの値以上になったら警告を表示するようには出来るのでしょうか? お願い致します<(_ _)>
- wakap
- ベストアンサー率14% (13/89)
該当するセル表示を変更する、でよければ、 「条件付き書式」でセルの背景色を変えるなどの設定ができますよ。 メニューの書式→条件付き書式 を見てみて下さい
お礼
hie9です。 merlionXX様、大変助かりました。 頭の中に描いていたのですが、出来なくて(^^ゞ VBA等もっと精進しないといけないと感じました。 ありがとうございました<(_ _)> また、よろしくお願いいたします。