作者wugo (想不出來...)
看板Visual_Basic
標題[VBA ] IF NOT xxx IS NOTHING..
時間Mon Jul 23 10:18:55 2018
各位大大 週一早安~
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是指什麼呢?
感謝您!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.103.74
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1532312338.A.CCD.html
1F:→ MOONRAKER: 1: 前面有一個intersect 很容易看出來意思是判斷Target 07/23 10:34
2F:→ MOONRAKER: 和D4沒有交集 也就是Target不包括D4 07/23 10:35
3F:→ MOONRAKER: 2: 那個事件會固定送給你Target參數 內容當然就是發生 07/23 10:36
4F:→ MOONRAKER: 事件的格位物件 詳情執行中用watch看一下就知道了 07/23 10:36
5F:推 LPH66: 運算子優先權 Is 比 Not 高, 所以是 Not (... Is Nothing) 07/23 14:58
6F:→ LPH66: 不過剛才翻了一下 MSDN, VBA 似乎有 IsNot 這個運算子 07/23 14:59
7F:→ LPH66: 也就是這個其實可以寫成 ... IsNot Nothing 07/23 14:59
8F:→ wugo: 謝謝以上先進,會再研究看看。 07/24 21:34