循环select|行 范围vs行
我有一个类的门户网站
Public Function Init(Rng As Range) As Portal
它使用Rng.Item(1)和Rng.Item(2)处理Rng范围的前2个单元格。 这适用于select的第一行:
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是一个范围,就像select,对不对? 为什么我的types不匹配.Init b?
如果您尝试访问单元格,请使用Range
对象的Cells
属性,而不是Item
属性,即在Init
过程中使用Cells(1)
和Cells(2)
。
整行的第一Item
是行本身,可以看出:
Debug.Print Rows(1).Item(1).Address
这将返回$1:$1
Debug.Print Rows(1).Cells(1).Address
将返回$A$1
。