我有一个带有
的门户网站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是一个Range,就像Selection一样,对吗?为什么我在.Init b?
上出现类型不匹配答案 0 :(得分:2)
如果您尝试访问单元格,请使用Cells
对象的Range
属性,而不是Item
属性,即使用Cells(1)
和{{1}在Cells(2)
程序中。
整行的第一个Init
是行本身,如下所示:
Item
将在
时返回Debug.Print Rows(1).Item(1).Address
$1:$1
将返回Debug.Print Rows(1).Cells(1).Address
。