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

2025-09-29 22:46:47

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在工作表中建立目录?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢