如何使用VBA在Excel中创build隐藏工作表的实例?

我正在创build一个启用macros的excel作为生成“create table”sql脚本的工具。 工作表创build的地方需要input列名,数据types等,并在一个button上单击脚本将生成。 这张表被称为“脚本生成器”。 现在我需要一个“索引”表,它将有表名和一个button。 当我点击button,我需要打开每个表名称的“脚本生成器”表,这些表应重命名为表名称。

索引表代码如下所示:

Sub Add_sheets() On Error Resume Next Dim count As Integer Dim r As Range Dim sh As Worksheet For Each r In Range("A3:A103") If Not r = "" Then count = 0 For Each sh In ActiveWorkbook.Sheets If sh.Name = r.Value Then count = count + 1 End If Next sh If count = 0 Then With ActiveWorkbook.Sheets .Add(after:=Worksheets(Worksheets.count), Type:="C:\Macro\Script_Template.xltm").Name = r.Value End With ActiveSheet.Hyperlinks.Add Anchor:=r, Address:="", _ SubAddress:=Sheets(r.Value).Name & "!A1" End If End If Next r End Sub 

现在,问题是我在外部添加保存为“Script_Template.xltm”的脚本生成器。 我只需要一个将完成这一切的excel。 意思是,索引文件应该在内部打开/添加格式“脚本生成器”的新表格,以便它形成一个完整的工具。 也许通过隐藏这张表并通过macos调用它的实例并重命名这些表。 如何通过VBA做到这一点? 如果有人能帮助我,这将是很好的..谢谢

您可以创build一个“Script_Template”表并隐藏它,然后使用此代码创build副本

 Sheets("Script_Template").Visible = True Sheets("Script_Template").Copy After:=Sheets(ThisWorkbook.Sheets.count) ActiveSheet.Name = r.Value Sheets("Script_Template").Visible = False 

使用True和False来设置工作表的Visible属性不是好的做法。 你应该使用已经提供的常量 – xlSheetHidden,xlSheetVeryHidden和xlSheetVisible。

xlSheetVisible将使您的工作表可见,并且xlSheetHidden将隐藏您的工作表。 将其设置为xlSheetVeryHidden将确保唯一可以使表单可见的方法是通过VBA,而不是通过Excel菜单栏“格式” – >“表单” – “取消隐藏”。

用法:

 Sheets("Script_Template").Visible = xlSheetVisible