Rows.Count方法在Excel VBA中运行不正常(它在错误的工作表中获取行号,尽管我指定了哪些工作表来获取行数。)

问题描述 投票:2回答:1
Sub Example()


On Error GoTo ErrHandler
    Application.ScreenUpdating = False

    Dim src As Workbook

    '//Open The Source Excel Workbook In "Read-Only-Mode"
    Set src = Workbooks.Open(Cells(103, 103).Value, True, True)
    'Set src = Workbooks.Open("E:\Example\Example\Example.xlsx", True, True)

    '//Get The Total Rows From The Source Workbook
    Dim iTotalRows As Long

    iTotalRows = src.Worksheets("Example").Range("B1:B" & Cells(src.Worksheets("Example").Rows.Count, "B").End(xlUp).Row).Rows.Count 
    MsgBox iTotalRows

    Dim iCnt As Long
    Dim 행 As Integer
    .......

以上是我的代码。

我显然在下面的代码中指定了工作表的名称。

iTotalRows = src.Worksheets("Example").Range("B1:B" & Cells(src.Worksheets("Example").Rows.Count, "B").End(xlUp).Row).Rows.Count

但它返回异常结果。

我想知道的是“示例”工作表的行。

通常它会返回“示例”Sheet的行。

因为“示例”工作表是工作簿的最后打开的工作表。

当我打开另一个工作表并关闭并保存工作簿时,Excel vba代码计算该工作表的行!

我指定了明显的工作表名称,但似乎没有效果。

我该如何解决这个问题?

提前感谢您的回答。

excel vba excel-vba
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.