怎样使用VBA在工作表中建立目录?

 时间:2026-02-13 04:35:21

1、首先在开发工具中打开VBA编辑器

怎样使用VBA在工作表中建立目录?

2、在单元格区域当中输入一些内容作为例子

怎样使用VBA在工作表中建立目录?

3、在VBA编辑器中插入模块

怎样使用VBA在工作表中建立目录?

4、在模块当中输入如下代码,然后运行

Private Sub Workbook_Open()


    On Error Resume Next
    Application.ScreenUpdating=False  '禁止刷屏
    Dim XStr, YStr, ZStr
    XStr="-"
    ZStr=""
    For i=1 To Worksheets.Count
      If Worksheets(i).Name="工作表目录" Then GoTo add: Exit For
    Next
    If i > Worksheets.Count Then
      Sheets.add
      ActiveSheet.Name="工作表目录"
    End If
    Sheets("工作表目录").Move Before:=Sheets(1)
add:
    Sheets("工作表目录").Select
    With Range("a:b")
      .Clear
      .NumberFormatLocal="@"
      Worksheets(1).Cells(1, 1).Value="编号"
      Worksheets(1).Cells(1, 2).Value="目录"
      For i=2 To Worksheets.Count
          Worksheets(1).Cells(i, 1).Value=i-1
          Worksheets(1).Cells(i, 2).Value=Worksheets(i).Name
          For j=1 To Len(Worksheets(i).Name)
              YStr=Mid(Worksheets(i).Name, j, 1)
              If InStr(XStr, YStr) <> 0 Then
                  ZStr="'"
                  Exit For
              End If

       Next


          ActiveSheet.Hyperlinks.add Anchor:=Worksheets(1).Cells(i, 2),
          Address:="", SubAddress:=ZStr & Worksheets(i).Name & ZStr &
          "!A1", TextToDisplay:=Worksheets(i).Name
      Next
      .HorizontalAlignment=xlCenter '设置目录文字为居中
      .VerticalAlignment=xlCenter
    End With
    Range("a2").Select                       '冻结窗格
    ActiveWindow.FreezePanes=True
    ActiveWindow.DisplayGridlines=False       '不显示网格线
    Application.ScreenUpdating=True
End Sub

怎样使用VBA在工作表中建立目录?

5、重新启动工作簿,可以看到工作簿已新加了一个名为“工作表目录”的工作表,且已建立目录,单击该目录中任意表名则进入该表

怎样使用VBA在工作表中建立目录?

  • 怎样使用VBA修改日期格式?
  • 使用vba判断单元格内是否有批注的方法
  • 在VBA中,如何打开目录下的工作表?
  • 怎样使用VBA双击事件的运用?
  • 怎样使用VBA列举指定文件夹下所有Excel文件?
  • 热门搜索
    国内旅游线路推荐 中原旅游 银川旅游团 济南旅游政务网 百里峡旅游 南岳旅游 威海旅游景点介绍 自然旅游景点 安康旅游景点介绍 旅游路线设计方案