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

我在Excel中build立了一个调查问卷,并要求在每个页面上包含一个“你在X表外的Y型”指示器。

可见表的数量根据对某些早期问题的回答(隐藏不相关的问题集等)而变化,因为该语句中的分子和分母都是variables。

我在每个页面上都有一个标签(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 

这正确地将分母写入每张纸上的每个标签。

为了find分子,我需要能够find活动页面左边的非隐藏页数。

有谁知道我可以做这个使用VBA?

Worksheet.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