Excelで入力値が前回と大きく相違していないかチェックする方法

Pocket

Excelで毎月、入力作業をするときに、今月の値が先月と大きく乖離している場合にセルの色を変えて警告する方法を考えます。

例として「A列に先月の値がセットされ、B列に今月の値をセットする」という状況であるとします。

A B
1 先月 今月
2 350 400
3 600 650
4 700 650
5 800 650

今月の値が先月の値と比べ、差が100を超える場合、警告の意味で、セルの色を変えます。

条件付き書式を使う方法

条件付き書式を使います。Excel2007を使いました。

  1. 書式設定したいセルB2を選択する。
  2. ホーム-スタイル-条件付き書式-新しいルール を選択。
  3. 指定の値を含むセルだけを書式設定 を選択。
  4. ルールの内容 を次の通りセット。
    • セルの値
    • 次の値の間以外
    • =A2-100
    • =A2+100
  5. 書式ボタンをクリックし書式を適当にセット。
  6. OKボタンをクリック。
  7. ホーム-スタイル-条件付き書式-ルールの管理 を選択。
  8. 適用先 を選択。
  9. 条件付き書式を使いたい範囲をワークシート上で指定して、OKをクリック。

マクロを使う方法

数値を入力する度に内容をチェックし、差が大きい場合には該当するセルの色を変える方法を考えます。

まず数値をチェックし書式をセットするマクロを書きます。
row1,row2の辺りはデータの大きさや位置によって変えられます。

Sub 数値チェック()
    Const row1 = 2 '最初の行
    Const row2 = 5 '最後の行
    Const colbefore = 1 '比較前の列
    Const colafter = 2 '比較後の列
    Const dif = 100 '異常値と判断する差の大きさ
    Dim r As Long
    For r = row1 To row2
        If Abs(Cells(r, colbefore) - Cells(r, colafter)) > dif Then
            With Cells(r, colafter).Interior
                .Color = RGB(255, 255, 0)
                .Pattern = xlSolid
            End With
        Else
            Cells(r, colafter).Interior.Pattern = xlNone
        End If
    Next r
End Sub

入力作業が終わったときにこのマクロを実行すればチェックできます。
しかしチェックも自動にしたいところです。
そこで、ワークシートのどこかが変更されると上のマクロが実行させるようなマクロを書きます。

  1. VisualBasicエディタを開く。
  2. プロジェクトエクスプローラの該当するファイル(プロジェクト)のシートをダブルクリック。
  3. コードの上部左側のオブジェクトボックスから「Wordsheet」を選択。
  4. 右側のプロシージャボックスから「Change」を選択。ここに次の通り記述。
Private Sub Worksheet_Change(ByVal Target As Range)
    Call 数値チェック
End Sub

マクロを使う場合には、セルの色を変えるだけでなく、注意メッセージを出したり、ビープ音を鳴らしたり、色々、応用ができます。

[ 2011年1月11日 | カテゴリー: Excel | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報