[VBA ] IF NOT xxx IS NOTHING..

作者: wugo (想不出來...)   2018-07-23 10:18:55
各位大大 週一早安~
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
If Not Intersect(Target, Range("D4")) Is Nothing Then
Call ProgramA
End If
End If
End Sub
這是網路上找到的VBA code "選取到 D4儲存格 就會跑 ProgramA"
我是想改成 只要選取到 B2到B10 此範圍的任一格(多格不行) 就執行 ProgramA
但不太懂 IF NOT ... IS NOTHING 這意思~?
是指說 這對象中沒有空值的話嗎?
還有這種 Worksheet_SelectionChange 或 WorksheetChange 後面的
(ByVal Target As Range) Target是指什麼呢?
感謝您!
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-07-23 10:34:00
1: 前面有一個intersect 很容易看出來意思是判斷Target和D4沒有交集 也就是Target不包括D42: 那個事件會固定送給你Target參數 內容當然就是發生事件的格位物件 詳情執行中用watch看一下就知道了
作者: LPH66 (-6.2598534e+18f)   2018-07-23 14:58:00
運算子優先權 Is 比 Not 高, 所以是 Not (... Is Nothing)不過剛才翻了一下 MSDN, VBA 似乎有 IsNot 這個運算子也就是這個其實可以寫成 ... IsNot Nothing
作者: wugo (想不出來...)   2018-07-24 21:34:00
謝謝以上先進,會再研究看看。

Links booklink

Contact Us: admin [ a t ] ucptt.com