如何复制隐藏的工作表并且新复制的工作表不隐藏?

时间:2020-12-30 10:46:00

标签: excel vba copy hidden

enter image description here

我想使用 VBA 复制隐藏的工作表。但是,当它运行 vba 代码时,所有复制的工作表也被隐藏了,我是否知道有什么方法可以复制工作表并且不隐藏新创建的工作表?我的VBA代码如下:

Sub CopySheet()
 
Sheet6.Copy After:=Sheets(Sheets.Count)
 
End Sub

3 个答案:

答案 0 :(得分:2)

Hidden 有两个阶段,xlSheetHidden 和 xlSheetVeryHidden。在我的 Excel 365 上,您的代码适用于普通的 Hidden 工作表,但适用于 VeryHidden 工作表。在这两种情况下,副本都没有隐藏。但是,下面的代码将取消隐藏工作表,创建一个可见的副本并将原始副本再次隐藏到与以前相同的级别,所有这些对用户都是不可见的。因此,此代码可用于复制任何工作表,而不管其 Visible 属性的设置如何。它应该也适用于旧版本的 Excel。

Sub CopySheet()
 
    Dim Visible     As XlSheetVisibility
    
    Application.ScreenUpdating = False      ' hide the action from view
    With Sheet6
        Visible = .Visible                  ' record the sheet's visibility setting
        .Visible = xlSheetVisible           ' make the sheet visible
        .Copy After:=Sheets(Sheets.Count)   ' create a copy (the copy will be ActiveSheet)
        .Visible = Visible                  ' reset the sheet's Visible property to what it was before
    End With
    Application.ScreenUpdating = True
End Sub

答案 1 :(得分:0)

请尝试:

Sheet6.Copy After:=Sheets(Sheets.count)
Sheets(Sheets.count).Visible = xlSheetVisible

答案 2 :(得分:-1)

Sub CopySheet6()

  Sheet6.Copy After:=Sheets(Sheets.Count)
    
  Worksheets("Sheet6 (" & Sheets.Count - 1 & ")").Visible = True

End Sub
相关问题