我創建一個啓用宏的excel作爲生成'create table'sql腳本的工具。 工作表創建的地方需要輸入列名,數據類型等,並在一個按鈕上單擊腳本將生成。這張表被稱爲'腳本生成器'。現在我需要一個包含表名和按鈕的「索引」表。當我點擊按鈕時,我需要爲每個表名稱打開「腳本生成器」表單,這些表單應該重命名爲表名。如何使用vba在Excel中創建隱藏工作表的實例?
索引表代碼是這樣的:
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做到這一點?這將是巨大的,如果有人可以幫助我..謝謝
有一點需要注意的 - 至少在XL2007 +在Windows上:當您複製片並不總是最終的ActiveSheet。當我們從Office 2003切換時必須改變一堆宏。 –
嗯,這很奇怪。我不知道是什麼原因造成的?我從來沒有遇到過添加工作表後,新工作表永遠不是活動工作表?我能想到的一個可能的原因是一些代碼將活動頁面更改爲'Workbook_NewSheet(ByVal Sh As Object)'中的其他頁面? –
非常感謝!它的工作:) – Appy