暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

VBA 工作表生成超链接目录

Excel VBA练习 2021-08-05
1342

由于家里电脑坏了,估计给玩崩了,但是练习是不能停的,只能在单位里写文章...

这几天小编和大家一起练习下VBA是怎么玩工作表的


示例文件下载

链接:https://pan.baidu.com/s/13ITTGN-Za3tmJJRPABUBAA
提取码:abcd


关注公众号 ↓


小编整理了下大致如下

工作表大多数都是分分合合,合合分分…大致想到这些内容,后续如果还有别的在加进去,当然还有另存之类的,先做成这样吧


  • 生成超链接


        例子还是用之前打印的例子,只不过小编给拆分出来了




运行如下


    Sub Sht_HyperLinks() '工作表超链接
    Dim Sht As Worksheet, ActSht As Worksheet, Cell As Range, intx&, YesNo&
    Set Cell = 模块.SetRng("请选择放置的单元格" & Chr(10) & "注意:下方如有数据有可能会被覆盖!!") '用户选择放置的单元格
    If Cell Is Nothing Then MsgBox "请重新选择", 64, "提示!": Exit Sub
    YesNo = MsgBox("是否使用超链接", vbYesNo, "提示:") '用户选择是否使用超链接
    Cell(1).Value = "目录" '第一个单元格写入目录
    Set ActSht = ActiveSheet '当前工作表
    Application.ScreenUpdating = False '屏蔽闪屏
    With ActSht
    For Each Sht In Sheets '循环遍历工作表
    If Sht.Name <> .Name Then '不等于当前工作表名称的时候
    intx = intx + 1 '计数器累加
    If YesNo = 6 Then '如果是需要超链接
    .Hyperlinks.Add .Cells(Cell.Row + intx, Cell.Column), "", "'" & Sht.Name & "'!A1", "点击跳转至<" & Sht.Name & ">A1单元格", Sht.Name
    Else
    .Cells(Cell.Row + intx, Cell.Column) = Sht.Name '不使用超链接只写表名
    End If
    End If
    Next
    End With
    Application.ScreenUpdating = True '恢复系统设置
    End Sub
    复制


    第3行使用自定义封装函数SetRng获取用户选择存放超链接的单元格所在位置

    由于我们是想做自己工作常用的小工具,小编将一些常用的代码给封装起来

    代码放置在模块的模块中

    我们做一些工具很多代码会出现重复使用,这时候我们封装起来调用会方便很多,也不容易出错...

    第5行获取用户是否需要使用超链接,关于交互类的小编想等到写到文件在一起练习

    第10至19行遍历工作表集合

    第14行利用HyperLinks属性创建超链接

      Hyperlinks.Add (Anchor,Address,SubAddress,Screentip,TextToDisplay)
      复制

      参照语法,我们一般书写为

        .Hyperlinks.Add .Cells(Cell.Row + intx, Cell.Column), "", "'" & Sht.Name & "'!A1", "点击跳转至<" & Sht.Name & ">A1单元格", Sht.Name
        复制

          .Hyperlinks.Add 存放位置,超链接地址,超链接的子地址,文字说明,显示的内容
          复制

          ...

          ...


          收工!我们明天见

          如果小伙伴有好的思路,可以在小编的公众号留言发给小编研究下

          文章觉得有用,点个赞+在看,你的每一次点赞和转发就是小编原创的动力

          文章转载自Excel VBA练习,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论