-2
我使用下面的代码,以确定工作表上的下一个空行:使用VBA worksheetfunction不激活工作表
emptyrow = WorksheetFunction.CountA(Range("B:B")) + 1
然而,我注意到,它只有当页面我想用作品被激活。我曾尝试使用以下语句:
With MyWorksheet
emptyrow = WorksheetFunction.CountA(Range("B:B")) + 1
End With
但是,在我输入完成后几乎意识到这不是with的正确用法。如何在不激活工作表的情况下执行工作表功能?我正在遍历许多工作表,并且不希望每个工作表都激活。谢谢!
您错过了将'Range'关联到工作表对象的前导期:'WorksheetFunction.CountA(.Range(“B:B”))+ 1'如果可能的话,这(使用CountA)是不可靠的在你的数据中有空单元虽然... –
'Set MyWorksheet = Worksheets(“Name”)''而不是'Set MyWorksheet = ActiveWorksheet' – UGP
另请参阅[这里](https://stackoverflow.com/questions/10714251/how -to-avoid-using-select-in-excel-vba) – UGP