使用vba进行excel超链接设置(链接到当前文档某一单元格)

最前面直接说怎么做,使用 sheet.Hyperlinks.Add  添加link,目的位置 anchor ,address 如果是本文件就空着,subaddress写sheet名称和位置,TextDisplay 显示的文字。

For c = 3 To .Cells(4, 3).End(xlToRight).Column
    city_text = .Cells(4, c).Value
    .Hyperlinks.Add Anchor:=.Cells(4, c), Address:="",SubAddress:=city_text + "!A1",TextToDisplay:=city_text
Next

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

20191116补充:

我自己写的逻辑是:

1.对总工作表的某一行或某一列进行遍历,取出单元格中的内容;

2.对这个单元格添加超链接,显示的内容与原单元格中的相同。

同事的需求是,将各个子表表名的汇总到总表,并做超链接,总表中原本是没有文字的

实现逻辑为遍历各子表,取其内容对总表总单元格进行超链接

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下为原文:

嗯,下面是我自己的碎碎念,可以不看,emmmm,就是写我咋被自己的习惯坑死的。。

 

昨天晚上老板给了个小任务,把数据整理成全网汇总-省份-城市-网点这样的层级下钻的excel文档,而且还要能够返回。大概要分几百个sheet表,没数,各维度排列方式还不完全一样,有些需要按列分、有些要按照行分,搞了一天多一点终于弄完了,也算是把vba重新熟悉下吧,什么条件格式啦、表格拆分啊,东西总不用就是会忘记。。

进入正题,我需要的结果大概是这样,点击省区的名称,查看省区下面的城市汇总、城市点开再看网点。

平时做超链接直接用hyperlink函数,比vba方便多了。用习惯这个函数的结果就是,我用vba加超链接这个问题上花了一个小时!!

官方给的parameter解释如下:

使用vba进行excel超链接设置(链接到当前文档某一单元格)_第1张图片

嗯,看起来和hyperlink挺类似的,坑就在Address 和SubAddress 子地址这里。。

平时用hyperlink链接到当前文件是怎么写的呢?"#" +sheetname+"!A1" 一般是这样拼接而成的,我写vba的时候想当然的直接在address里面这样写了,把子地址直接忽略掉了……结果可想而知。

 

你可能感兴趣的:(数据分析)