切换活动表格和计数行

我正在检查工作表1上的行数并将其与工作表2上的计数进行比较,以确认工作表1上的所有行位于工作表2上。

首先,我select工作表1激活,然后获得有数据的行的计数

其次,将活动工作表切换到工作表2.工作表2包含具有数据的行,但工作表1和工作表2在包含数据的行中不相同。

ThisWorkbook.Worksheets("Sheet1").Select num = Application.WorsheetFunction.CountA(Range("A:A")) ThisWorkbook.Worksheets("Sheet2").Select num2 = Application.WorsheetFunction.CountA(Range("A:A")) 

问题是每次我得到num2的值,它总是等于num ,我知道这是不正确的。 如果我手动检查countA(A1:A100) ,我得到一个值将certificatenum!= num2 。 我的猜测是,即使我切换到一个新的活动工作表,num2的计算仍然是基于表1确定的。这是真的吗? 我的代码有一些明显的问题吗? 先谢谢你。

你不需要在这里使用Select 。 另外,尽量避免它们。

所以你所需要的就是使用它的表来限定范围。

 num = Application.WorksheetFunction.CountA(Worksheets("Sheet1").Range("A:A")) num2 = Application.WorksheetFunction.CountA(Worksheets("Sheet2").Range("A:A"))