重新排序excel中的隐藏选项卡

时间:2013-10-24 17:56:33

标签: excel vba excel-vba tabs

在工作中,我们使用Excel和VBA开发了一个工具。此工具具有隐藏的工作表,只有在上一步完成后才会打开。我从前一个编码器遇到的一个问题是,最后一步,有一个额外的按钮,我们称之为A,可以点击。根据前一个编码器创建的工作表顺序,此工作表是10分中的第二个,当单击A时,它会自动进入第二个位置。

有什么办法可以将它修改为最右边的标签吗?

我遇到的问题是当我到达最后一步时,我可以手动将标签移动到右侧,但这只是在我完成分析之后,并且不能到达开头,所以它不允许我保存。

1 个答案:

答案 0 :(得分:0)

这会将隐藏的工作表移动到所有可见工作表的末尾:

Sub test()

    With Sheets("Sheet1")
        .Visible = True
        Sheets("Sheet1").Move After:=Sheets(Sheets.Count)
        .Visible = False
    End With

End Sub

这会将隐藏的工作表移动到所有隐藏和可见工作表的末尾:

Sub moveHiddenSheet()

Dim ws, x, lastSheet

x = 0
For ws = Worksheets.Count To 0 Step -1
    x = x + 1
    If Sheets(Worksheets.Count - x).Visible = False Then
        Sheets(ws).Visible = xlSheetVisible
        lastSheet = Sheets(ws).Name
        Exit For
    End If
Next ws

With Sheets("Sheet1")
    .Visible = True
    Sheets("Sheet1").Move After:=Sheets(Worksheets.Count) 
    .Visible = False
End With

Sheets(lastSheet).Visible = False

End Sub