【发布时间】:2018-03-02 20:32:30
【问题描述】:
我有一个宏(“List_of_sheets”),它创建工作簿中所有工作表的列表,并将该列表放在“表头”字下方的“Sheetlist”表中。
每当我运行宏时,宏都会删除以前的列表并创建一个新列表。每当我删除、添加、复制或更改工作表的名称时,我都会手动执行此操作。但是,我希望它自动运行。
提前致谢!
Sub List_of_sheets()
Dim objSheet As Worksheet
Dim intRow As Integer
Dim strCol As Integer
Dim GCell As Range
SearchText = "Header"
Set GCell = Worksheets("Listsheet").Cells.Find(SearchText).Offset(2, -1)
GCell.End(xlDown).ClearContents
intRow = GCell.Row
strCol = GCell.Column
For Each objSheet In ActiveWorkbook.Sheets
ActiveWorkbook.Worksheets("Listsheet").Hyperlinks.Add Anchor:=ActiveWorkbook.Worksheets("Listsheet").Cells(intRow, strCol), Address:="", SubAddress:= _
"'" & objSheet.Name & "'!A1", TextToDisplay:=objSheet.Name
With ActiveWorkbook.Worksheets("Listsheet").Cells(intRow, strCol).Font
.Name = "Calibri"
.FontStyle = "Normal"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
intRow = intRow + 1
Next objSheet
End Sub
【问题讨论】:
-
上次我必须创建目录时,我最终使用了
BeforeSave工作簿事件宏.......唯一的选择是使用单独的宏来处理添加/删除/修改工作表名称,并让该单独的宏构建 TOC>