vba代码,手动创建活动表【目录索引】
引:
这段VBA代码,用于在当前工作表中创建一个索引表格,并列出工作簿中的所有工作表的名称和超链接。具体实现步骤包括获取表格及最后一行、删除之前的连接、在第一列添加标题行“工作表名称”、循环所有工作表并为每个工作表创建超链接;最后调整单元格格式并自动列宽,使表格更易于阅读。这段代码常用于大型Excel工作簿中,方便用户快速查找和导航不同的工作表。
演示效果:
代码如下:
Private Sub CommandButton1_Click() '在当前工作表中创建工作薄下所有工作表的索引
Dim ws As Worksheet
Dim idxSheet As Worksheet
Dim lastRow As Integer
'获取表格、及最后一行
Set idxSheet = ActiveSheet
lastRow = idxSheet.Range("A" & Rows.Count).End(xlUp).Row
'删除之前的连接
idxSheet.Hyperlinks.Delete
' 标题行
idxSheet.Range("A1").Value = "工作表名称"
' 循环所有的工作表
Dim i As Long: i = 2 '从第二行开始写入
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> idxSheet.Name Then
idxSheet.Cells(i, 1).Value = "=HYPERLINK(""#" & ws.Name & "!A1"",""" & ws.Name & """)"
i = i + 1
End If
Next ws
' 调整单元格格式并自动列宽
idxSheet.Columns("A").AutoFit
idxSheet.Range("A2:A" & lastRow).VerticalAlignment = xlCenter
End Sub