分享

Excel VBA 8.58优化Excel常用功能系列 快速插入单元格超链接

 Excel和VBA 2022-01-06

8优化Excel常用功能系列 快速插入单元格超链接


点击上方“Excel和VBA”,选择“置顶公众号”

致力于原创分享Excel的相关知识,源码,源文件打包提供

一起学习,一起进步~~


又来到针对Excel的功能优化的时刻了

今天我们要来优化的是单元格插入超链接功能。上一节学习了超链接的删除,非常的霸道,直接将所有的超链接全部删除了

但是呢

有时候我们又需要超链接来做一个中转,这样有时候能够更加方便的查看数据,那么传统的增加超链接的方式,相信就不用我告诉大家了

非常的繁琐,又是选择单元格,又是右键选中,然后还要面对这样一个非常繁琐的选择框,那么有没有一个好的办法,能够快速的插入超链接呢?

比方说我已经准备了好超链接在另外一个单元格中,如何批量的给单元格插入超链接呢?

这些都是我们今天要实现的目标

场景说明

这是我们今天虚拟构造的一个场景,我们针对某些区域批量增加单元格的超链接,有些超链接是一个本地连接,有些超链接则是一个网站,还有一些则是一个邮箱地址,在这样的情况下,如果我们常规通过右键来添加,一个单元格添加一次。。。估计要浪费不少时间,来看看VBA如何快速实现。

代码区

先不要看代码,在我们的理解中,既然是针对单元格增加超链接,那么我们的大致思路,应该就是遍历循环单元格区域,然后给每个单元格增加超链接

而增加超链接的对象应该是单元格,类似于range.Hyperlinks这样的模式

那么真的是这样的吗?

一起来看下代码

Sub ddd()
Dim rng As Range, a As Range
Set rng = Application.InputBox("请选择单元格区域", "区域的选择", , , , , , 8)
For Each a In rng
    ActiveSheet.Hyperlinks.Add Anchor:=a, Address:=a.Offset(0, 1)
Next a
End Sub

我们看到,代码逻辑差不多是这样的,但是Hyperlinks并不是单元格的方法,而是activesheet的

这里大家一定要留意

来看看代码

代码解析

今天的代码,也是比较好理解的,因为我们已经知道了单元格的超链接用的是Hyperlinks方法了,

今天唯一要注意的一点,就是Hyperlinks的方法是归属于worksheet的

为什么会一再强调这一点呢?

因为按照常规的理解方式,这里应该是aHyperlinks.add

实际上,就算是你这样写,代码也不会报错,也可以顺利的执行,但是并不会有任何的结果,这一点大家要特别注意。

其实Hyperlinks还有一些其他的用法,我们看到代码中已经有了两个参数

anchor ,代表 超链接的位置

Address,代表超链接的地址

这两个参数是必选参数,是必须有的

那么还有那么什么其他的参数呢?

介绍一个比较常用的

ScreenTip,当鼠标指针停留在超链接上时所显示的屏幕提示

我们来测试下效果

Sub ddd()
Dim rng As Range, a As Range
Set rng = Application.InputBox("请选择单元格区域", "区域的选择", , , , , , 8)
For Each a In rng
    ActiveSheet.Hyperlinks.Add Anchor:=a, Address:=a.Offset(0, 1), ScreenTip:="没错,我就是屏幕提示”"
Next a
End Sub

我们看到,当鼠标移动到超链接上面的时候,会有一个提示内容,这个就是ScreenTip的用法

其他的还有一些

TextToDisplay ,要显示的超链接的文本。

SubAddress 超链接的子地址。


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多