计算非活动工作表中的行数

时间:2016-11-10 16:09:01

标签: excel vba excel-vba

我在工作簿中有2张纸。第1页是我从中调用宏的地方。

在表2中,我想循环遍历行,如果成功则打印“是”。

到目前为止,我有以下内容:

post.properties.length = Object.keys(post.properties).length;
let properties = Array.from(post.properties);

计算工作表2中的行数,但在'.Range(“B2”)上抛出错误。选择“选择范围类的方法失败”

2 个答案:

答案 0 :(得分:1)

您只能在有效工作表上选择范围

Sub main()
    Dim TotalNumRows As Long
    Dim noRow As Integer

    With Sheets("Sheet2")
        .Activate '<-- activate relevant worksheet
        'get the amount of rows within Q3 Joiners list
        TotalNumRows = .Range("B" & .Rows.Count).End(xlUp).Row

        .Range("B2").Select

        For noRow = 1 To TotalNumRows
            MsgBox ("Yes")
            ActiveCell.Offset(1, 0).Select
        Next
    End With
End Sub

答案 1 :(得分:1)

你想在Sheet2中选择B2吗?在这种情况下,您需要先使用.Activate()激活工作表。您只能选择活动工作表上的内容。否则,请删除该行。

一般情况下,由于性能影响和调试困难,最好不要使用.Select或.Activate作为VBA最佳实践。