使用VBA计算活动工作表(excel)左侧未隐藏(可见)工作表的数量?

使用VBA计算活动工作表(excel)左侧未隐藏(可见)工作表的数量?,vba,excel,Vba,Excel,我正在excel中创建一份调查问卷,并被要求在每页上都包含一个“你在工作表X上,共有Y个”类型的指示器 根据对一些早期问题的回答(不相关的问题集被隐藏等),可见表的数量会有所不同,因此该语句中的分子和分母都是变量 我在每一页上都有一个标签(Label1),我可以在上面写标题,我已经设法计算了所有可见的工作表,并将标题写与工作表激活事件联系起来: Private Sub Worksheet_Activate() If Range("AZ1").Value = "1" Then Dim v

我正在excel中创建一份调查问卷,并被要求在每页上都包含一个“你在工作表X上,共有Y个”类型的指示器

根据对一些早期问题的回答(不相关的问题集被隐藏等),可见表的数量会有所不同,因此该语句中的分子和分母都是变量

我在每一页上都有一个标签(Label1),我可以在上面写标题,我已经设法计算了所有可见的工作表,并将标题写与工作表激活事件联系起来:

Private Sub Worksheet_Activate()
If Range("AZ1").Value = "1" Then

    Dim v
    For Each s In ActiveWorkbook.Sheets
        If s.Visible Then v = v + 1
    Next s
    ActiveSheet.Label1.Caption = "Currently viewing page X of " & v & vbCrLf

End If
End Sub
这将正确地将分母写入每张纸上的每个标签中

为了找到分子,我需要能够找到活动表左侧未隐藏的表的数量


是否有人知道我可以如何使用VBA执行此操作?

工作表。Index-属性可以帮助您:

Dim n As Long
Dim i As Long

n = 0
For i = 1 To ActiveSheet.Index
    If ThisWorkbook.Worksheets(i).Visible Then 
        n = n + 1
    End If
Next

Debug.Print n