vba - 使用VBA计算事件工作表(excel)左侧未隐藏(可见)工作表的数量?

标签 vba excel

我正在 Excel 中构建一份调查问卷,并被要求在每页上添加“您位于 Y 中的 X 工作表”类型的指示符。

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

我在每个页面上都有一个标签(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 来做到这一点?

最佳答案

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

关于vba - 使用VBA计算事件工作表(excel)左侧未隐藏(可见)工作表的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16503268/

相关文章:

excel - 获取Windows显示缩放值

vba - VBA错误处理: Unable to get the match property of the worksheet function class

excel - VBE 的快捷方式在 Excel 2016 中不起作用

vba - 拦截共享工作簿上的 "Paste"事件并运行宏

excel - 保存后显示 Excel 的命令

Excel公式: If condition then do that condition

excel - VBA中如何获取当前工作表的路径?

vba - Excel VBA - 数据透视表过滤多个不确定标准

excel - VBA 宏循环遍历多个工作表并返回完全匹配

excel - 在excel中重命名插入的图片