我想写一个简单的函数来告诉我列的长度,给出列的第一条记录。因此,我写了类似...
Public Function getColumnLen(firstCell As Range) As Long
Dim lastRow As Long
lastRow = Range(firstCell.Address).End(xlDown).Row
getColumnLen = lastRow - firstCell.Row + 1
End Function
现在我的项目中有两个工作表,“A”和“B”,在 VBA 中我调用
Dim colLen as Long
colLen = getColumnLen(Worksheets("A").Range("A1"))
当我想知道从 A1 开始的数据高度时。结果值colLen
取决于工作表“A”是否处于活动状态或“B”处于活动状态。问题是在getColumnLen
函数中,firstCell
记住它是“A”表的一部分,但是滚动是在活动表上完成的。firstCell
除了在每次调用中激活之外,有没有什么方法可以让这不管活动工作表都给出正确的结果?