[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