Excel 获取表单名称并创建目录

#背景说明#
Excel文件中表单较多,需要创建目录

#解决方法#
打开需要创建目录的Excel文件,Alt+F11, 打开宏窗口。在菜单上选择 插入(Insert) --模块(Module), 在窗口中插入下列代码:

Sub 创建工作表目录()
'
 If Sheets(1).Name <> "目录" Then
 yn = MsgBox("【目录】工作表不bai存在,建立【目录】吗?", vbYesNo, "建立【目录】工作表")

 If yn = vbYes Then
 Sheets.Add(Sheets(1)).Name = "目录"

 Columns("A:A").Select
 With Selection
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlCenter
 .ColumnWidth = 6
 End With

 Columns("B:B").Select
 With Selection
 .HorizontalAlignment = xlLeft
 .VerticalAlignment = xlCenter
 .NumberFormatLocal = "@"
 .ColumnWidth = 36
 End With

 Range("A1").Select

 Else
 End
 End If

 Else
 yn = MsgBox("【目录】工作表已存在,更新数据吗?", vbYesNo, "更新目录数据")

 If yn = vbNo Then End

 End If

 Sheets("目录").Select
 Columns("A:B").Select
 Selection.ClearContents
 Range("A1").Select
 Cells(1, 1).Value = "序号"
 Cells(1, 2).Value = "工作表名称"

 Application.ScreenUpdating = False

For i = 2 To Sheets.Count

 Sheets("目录").Select
 Cells(i, 1).Value = i - 1
 Cells(i, 2).Value = Sheets(i).Name

 Cells(i, 2).Select
 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
 "'" & Cells(i, 2).Value & "'!A1", TextToDisplay:=Cells(i, 2).Value

Next i

 Application.ScreenUpdating = True
 yn = MsgBox("【目录】工作表已更新,按“Ctrl+z”返回此【目录】!" , vbOKOnly, "查询工作表")

End Sub

#执行#
按F5键执行,Alt+Q,关闭宏编辑窗口并返回Excel文件。

#补充说明#
在office 365上测试通过

猜你喜欢

转载自blog.51cto.com/41084/2644971
今日推荐