Excel VBA:セルに入力された時、その位置と値を調べる

Worksheet_changeイベントとTarget.Addressの使い方を紹介します。



Homeに戻る > Excel セルのTipsへ

セルにキー入力すると、Worksheet_changeイベントが発生します。

これを使うと例えばマイナスの値が入力された場合、フォント色を赤色にする、日付が入力されると隣に曜日を表示するなどができるようになります。

しかし、どのセルの変更でも呼び出される為、対象セルかどうか判定する必要があります。

セルの位置は、Target.Addressで取得できます。

ここではB2セルに「1」が入力されればブザーを鳴らすVBAを作成します。

セル位置に関しては「セルの表示位置を設定」を掲載しています、参考にしてください。



B2セルに「1」が入力されればブザーを鳴らすVBA

イベントプロシージャを表示させる。

1.VBE画面でSheet1をダブルクリックします。

2.Worksheet を選択します。

3.Change を選択します。

VBE画面

コードを入力する。

'シートに変更があると自動的に呼び出される
Private Sub Worksheet_chaneg(ByVal Target as Range)
    '変更された位置がB2ならば
    If Target.Address="$B$2" Then
        '値が1ならば
        If Target.Value=1 Then
          'ブザーを鳴らします
          Beep
        End If
    End If
End Sub


動作を確認する。

Sheet1のB2に1を入力します。ブザーがなるはずです。




Homeに戻る > Excel セルのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved