EXCELVBA中的Hyperlinks函数使用
EXCELVBA中的Hyperlinks函数使⽤
中秋放假时间最近某个⼯作任务需要倒腾各种Excel表格,于是重新拾起了VBA。今天遇到的任务是做⼀个统计表,统计合并若⼲个分散的Excel表格,并在统计表中做⼀个具有超链接功能的⽬录,点击超链接可以跳转到各个分散的Excel表格中。
这个功能应当由Hyperlinks函数完成,但是实际操作起来发现这个函数⾥⾯有好多坑,使⽤起来并不⽅便,函数的官⽅API是这样的:Expression.Hyperlinks.Add(Anchor, Address, [SubAddress], [ScreenTip], _ [TextToDisplay])
Expression可以是超链接所在的WorkSheet,函数有两个参数是必须的,Anchor是超链接所在的详细区域位置, Address是超链接所要跳转的⽬标地址。答辩ppt怎么做
坑1:跳转⽬标不是⽹址,⽽是其他表格怎么办?
如果想跳转到某个⽹址,直接在Address中写上⽹址字符串即可,如下图所⽰:
With Worksheets(1)
.Hyperlinks.Add Anchor:=.Range("a5"), _
西江月翻译
Address:="example.microsoft",
End With
但是如果想跳转到表格,⼀般情况下,不使⽤Address,⽽是将Address置为空,将⽬标表格地址放到SubAddress中,⽰例代码如图所⽰:
ThisWorkbook.Sheets("汇总").Hyperlinks.Add Anchor:=ThisWorkbook.Sheets("汇总").Cells(i, 3), _
Address:="", _统计表怎么做
SubAddress:="Sheet2!A1"
注意SubAddress的值必须是"Sheet2!A1"才⾏,因为根据官⽅API,这个属性值是字符串表达式,于是第2个坑就来了。
坑2:跳转⽬标是表格,但是表格的位置不是常量⽽是变量怎么办?
这个问题百度了很久,⽹上各路⼤神也莫衷⼀是,最后我经过反复尝试,到了⼀种解决⽅案,代码如下:
ThisWorkbook.Sheets("汇总").Hyperlinks.Add Anchor:=ThisWorkbook.Sheets("汇总").Cells(i, 3), _
Address:="", _
SubAddress:="'" & Variant1 & "'!C" & Variant2
2020最新表白密码如果跳转的⽬标位置的Sheet是⼀个变量,那么将Sheet的名字写到Variant1中即可,如果⽬标表格的⾏号是⼀个变量,那么将⾏号写到Variant2即可。上图中的代码,点击汇总表的第i⾏第3列,将会跳转到名称为Variant1的Sheet的第Variant2⾏,第C列中。
支付宝和银行卡绑定具体原因我也不清楚,但是这样解决问题对我来说就够了。如果各位能知其所以然,欢迎在下⽅给我留⾔^_^。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。