是否可能有一个空的 Excel 范围集合,即是否可能有一个 Excel.Range 类型的对象 obj,使得
obj.Cells.Count = 0
我强烈感觉这是不可能的。
请给出确实不可能的权威依据,或者提供一个反例。
最佳答案
我认为this将部分回答你的问题。
除此之外,我只能说,所有对象都必须被 Set
才能调用它们上的任何类型的方法。这是 OOP 的基础知识概念。您可以拥有任何类型的对象,例如
将对象调暗为范围
将对象调暗为应用程序
将 obj 变暗为 Long
但它实际上只是内存中为此变量保留的空间,正在等待分配引用。
所以答案很简单:不,不可能设置空范围对象。
自己检查一下:
Sub RangeTest()
Dim rng As Range
'Set rng = Range("A1")
ActiveWorkbook.Names.Add Name:="rngName", RefersTo:=rng.Address
MsgBox "count: " & rng.Cells.Count
End Sub
显然上面的方法失败了,但是»
Sub RangeTest()
Dim rng As Range
Set rng = Range("A1")
ActiveWorkbook.Names.Add Name:="rngName", RefersTo:=rng.Address
MsgBox "count: " & rng.Cells.Count
End Sub
<小时/>
还
Developer’s Guide to the Excel 2010 Range Object明确指出
The Range object represents one or more cells, and can be used to represent a single cell, a row, a column, a selection of cells that contain one or more contiguous blocks of cells, or a 3-D range.
关于excel - 可以进行空 Excel 范围集合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484426/