楼主 儒道佛 |
------ 目录 ------ [1]引用运算符的定义 [2]优先级判定四法 [3]使用范围限制 [4]运算符的VBA函数 ------------------------------------ Application.Intersect Method ------------------------------------ [MSDN说明] Returns a Range object that represents the rectangular intersection of two or more ranges. Syntax: expression.Intersect(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30) Visual Basic for Applications Worksheets("Sheet1").Activate Set isect = Application.Intersect(Range("rg1"), Range("rg2")) If isect Is Nothing Then MsgBox "Ranges do not intersect" Else isect.Select End If [示例] 你可以使用Union方法(Union(range1,range2,…))来合并多个范围的区域, 也就是说,由两个或多个连续单元块组成的区域。 下面的示例创建一个单元格对象来表示rangeA1:B2和C3:D4的合并区域, 然后选择新定义的区域。 Dim rng1 As Range, rng2 As Range, myMultiRanges As Range Worksheets("Sheet1").Activate Set rng1 = Range("A1:B2") Set rng2 = Range("C3:D4") Set myMultiRanges = Union(rng1, rng2) myMultiRanges.Select --------------------------------- Application.Union Method --------------------------------- [MSDN说明] Returns the union of two or more ranges. Syntax: expression.Union(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30) Visual Basic for Applications Worksheets("Sheet1").Activate Set bigRange = Application.Union(Range("Range1"), Range("Range2")) bigRange.Formula = "=RAND()" [示例] Intersect方法(Intersect(range1,range2))返回一个表示两个或多个区域重叠的矩形范围。 如果这些区域没有重叠,这个方法返回Nothing。 这个例子选择工作表Sheet1上两个命名区域rng1和rng2的重叠区域。 如果区域不重叠,则显示一个提示信息。 Worksheets("Sheet1").Activate Set interSect = Application.Intersect(Range("rng1"), Range("rng2")) If interSect Is Nothing Then MsgBox "区域不重叠." Else interSect.Select End If |
2楼 水星钓鱼 |
兄长对区域运算是情有独衷啊?这个帖子到像是在介绍两个VBA方法。![]() |
3楼 心痛神伤 |
看得晕呼呼 |