每一查詢資料輸入後便立即進行對比而即時得到結果

在指定的工作表(例如:"輸入"工作表)中指定位置(例如E7及其之下)輸入查詢資料,
每輸入一筆資料,便觸動程式立即以指定資料儲存工作表(例如:"DATA"工作表)中
指定位置範圍的內容進行對比,一旦發現在"DATA"工作表中沒有對應資料,便會
在"輸入"工作表中顯示結果的位置(例如:B7及其以下)顯示出一個紅色的問號(?)。

程式如下(必須放在"輸入"工作表"中):
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Row < 7 Then Exit Sub
    If Target.Column <> 5 Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    If Sheets("DATA").[b:b].Find(Target, , , 1) Is Nothing Then
        Target.Offset(, -3) = "?"
        Target.Offset(, -3).Font.ColorIndex = 3
        Else
        Target.Offset(, -3) = ""
        Target.Offset(, -3).Font.ColorIndex = 0
     End If
     Application.EnableEvents = True
End Sub

附註:

因為所執行的動作是:當有資料寫入儲存格後才要判斷執行任務,所以要 寫在Worksheet_Change事件中。
而Worksheet_SelectionChange是在點擊儲存格就發生的事件。

沒有留言:

張貼留言