分享

Excel VBA 8.59 快速获取单元格的超链接内容

 Excel和VBA 2022-01-07

快速获取单元格的超链接内容


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

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

一起学习,一起进步~~


虽然超链接可以形成一个类似网站网址的格式,让我们在使用Excel的过程中,可以快速的调准到指定的网站,或者单元格,或者是工作表

不过在编辑的时候,我们可能需要针对自己刚刚操作的超链接进行检查,那么这个时候,如果你不会VBA的话,你检查起来就非常的困难了。

比方说我们之前做好的这个超链接,可以看到所有的单元格有已经有了超链接,不过如果要检查,似乎无从下手,难道真的要一个个去点开,看看最终展示的页面是否正确?

那样的话,应该要花费不少的时间,没有一种可能,将单元格的超链接内容读取出来,填写到Excel中,这样我们可以更好的查阅呢?

至少VBA是可以的。

场景说明

这是我们最终要实现的效果。

那么今天的关键核心点就是,如何获取单元格的超链接,其实在之前我们也是学过一个类似的场景,获取单元的批注的方法,不知道小伙伴们是否还有印象?

代码区

直接来看看代码

Sub test()
Dim rng As Range
On Error Resume Next
For Each rng In ActiveSheet.UsedRange
    rng.Offset(0, 1) = rng.Hyperlinks(1).Address
Next
Err.Clear
End Sub

也是非常简单的一段代码

直接利用遍历循环的方式,获得每个单元格的超链接即可

看看最终的效果

很成功的将每个单元格的超链接,展示在了隔壁的单元格

代码解析

今天的代码,就相对比较的简单了

通过前面的学习,我们也是知道,单元格的超链接就是rng.Hyperlinks

不知道大家是否有留意到一个问题,这里我们的代码中有这样一句话

rng.Offset(0, 1) = rng.Hyperlinks(1).Address

这里为什么要加一个括号,写入1呢?

其实并不是说一个单元格可以插入两个超链接

这里只能算是一个固定搭配

大家记住就可以了。

留意到代码中还有这样一句话

On Error Resume Next

如果没有这句话的结果,那就是下面这样的报错

为什么会这样呢?

这和我们之前学习单元格的批注是一样的,我们需要去判断单元格是否存在超链接,存在的情况下才可以将他的批注写在隔壁的单元格

而这里我们跳过了判断的过程,所以直接用这句话进行判断,如果出错,就直接跳过

大家在使用的时候,也需要留意这几个细节。

 

==========================

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多