作者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/cn.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