我有一个类(class)门户网站
Public Function Init(Rng As Range) As Portal
它使用 Rng.Item(1) 和 Rng.Item(2) 处理 Rng 范围的前 2 个单元格。这适用于选择的第一行:
Sub ProcessPortal()
Dim mPortal As Portal
Set mPortal = New Portal
With mPortal
.Init Selection
End With
End Sub
但是当我想遍历其余行时它失败了:
Sub ProcessPortal()
Dim mPortal As Portal
Dim a As Range, b As Range
Set a = Selection
For Each b In a.Rows
Set mPortal = New Portal
With mPortal
.Init b
End With
Next b
End Sub
b 是一个范围,就像选择一样,对吧?为什么 .Init b 会出现类型不匹配?
最佳答案
如果您尝试访问单元格,请使用 Cells
Range
的属性(property)对象,而不是 Item
属性,即使用 Cells(1)
和 Cells(2)
在你的Init
程序。
第一个Item
整行的一部分就是该行本身,如下所示:
Debug.Print Rows(1).Item(1).Address
这将返回 $1:$1
而
Debug.Print Rows(1).Cells(1).Address
将返回 $A$1
.
关于excel - 遍历 Selection | 行范围与行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47743428/