Tag: 平等

如何检查两个范围variables之间的“引用相等”

我在vba方面不是很有经验,所以似乎有些东西我从基础开始就缺失了。 我有一个名为“imera”的自定义类,其中包括名为“date_cell”的范围属性。 当创build一个imera集合时,每个imera的date_cell在excel中引用一个特定的单元格。 所以现在我需要通过date_cell在集合中进行search: Sub searchByDateCell() Dim day As imera Dim LastMetrisi As Range Set LastMetrisi = Range("C27") For Each day In imeraCol If day.date_cell Is LastMetrisi Then 'Do something End If Next day Set day = Nothing End Sub 让我注意到,收集被称为imeraCol和宣布为公众。 尽pipe我已经通过debug.printtesting过,在我的集合中存在一个将date_cell设置为范围(“C27”)的imera,但是“执行上面的操作”部分从未执行。 有人知道为什么会发生这种情况?

对于指向同一单元格的两个范围variables,“Is”运算符不返回true

我有一个名为imera的自定义类,其中我包含名为date_cell的范围属性。 创build一个imera集合时,每个imera的date_cell被设置为引用excel中的特定单元格。 尝试在date_cell中search集合时: Option Explicit Public imeraCol as Collection Sub searchByDateCell() Dim day As imera Dim LastMetrisi As Range Set LastMetrisi = Range("C27") For Each day In imeraCol If day.date_cell Is LastMetrisi Then 'Do something End If Next day Set day = Nothing End Sub “Is”运算符似乎并不像预期的那样工作,并且返回true,尽pipe我已经通过debug.print进行了testing,在我的集合中存在一个将date_cell设置为范围(“C27”)的imera。 因此,“做某件事”部分,从不执行。 有什么解释为什么会发生这种情况?