excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel VBA:快速创建超链接

用VBA代码创建一个名为“目录”的工作表,并在其中列出其他工作表的超链接,同时在每个工作表中添加了一个用于返回目录的超链接。
  1. 检查目录工作表是否存在,否则创建一个名为“目录”的新工作表。
  2. 写入目录标题,在目录工作表的第一个单元格中写入标题“目录”。
  3. 创建命名范围,以便稍后可以通过名称引用目录工作表。
  4. 遍历每个工作表:使用 循环遍历工作簿中的每个工作表。
  • 获取工作表名称,并确保当前工作表不是目录工作表。
  • 对于每个非目录工作表, 并在目录工作表中创建超链接,链接到当前工作表的单元格A1。

5.添加“返回目录”项:再次遍历每个工作表。

  • 对于每个非目录工作表,在单元格G1中写入“返回目录”。
  • 在当前工作表中创建超链接,链接到目录工作表的单元格A1,并将“返回目录”作为显示文本。
Sub CreateHyperlinks()    Dim sht As Worksheet, directorySheet As Worksheet    Dim i As Long, strShtName As String    On Error Resume Next    Set directorySheet = ThisWorkbook.Worksheets("目录")    On Error GoTo 0    If directorySheet Is Nothing Then        Set directorySheet = Worksheets.Add(before:=Worksheets(Worksheets.Count))        directorySheet.Name = "目录"    End If    directorySheet.Cells(1, 1).Value = "目录"    On Error Resume Next    ThisWorkbook.Names.Add Name:="目录", RefersTo:=directorySheet.Range("A1")    On Error GoTo 0    i = 1    For Each sht In ThisWorkbook.Worksheets        strShtName = sht.Name        If strShtName <> directorySheet.Name Then            i = i + 1            directorySheet.Hyperlinks.Add Anchor:=directorySheet.Cells(i, 1), Address:="", _                SubAddress:="'" & strShtName & "'!A1", TextToDisplay:=strShtName        End If    Next    For Each sht In ThisWorkbook.Worksheets        If sht.Name <> directorySheet.Name Then            If sht.Cells(1, 7).Value <> "返回目录" Then                sht.Cells(1, 7).Value = "返回目录"            End If            sht.Hyperlinks.Add Anchor:=sht.Cells(1, 7), Address:="", _                SubAddress:="目录!A1", TextToDisplay:="返回目录"        End If    NextEnd Sub

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接