vb microsoft.xmlhttp 获取所有超链接_利用VBA批量自动生成表格超链接
Excel如何自動(dòng)生成有超鏈接的Sheet目錄?
如下圖中所示的工作簿中,有很多個(gè)Sheet。目的是把所有的Sheet在目錄表中制作成超鏈接的形式,點(diǎn)擊跳轉(zhuǎn)。
解決方案:錄制宏+循環(huán)
下面的東西可能很啰嗦,針對(duì)小白。需要代碼的可直接跳到最后。
?這里我先不給出答案,我給出我來做這個(gè)思路:
我想到要做目錄,首先要對(duì)所有的Sheet進(jìn)行循環(huán)遍歷,獲取Sheet的名字,然后在目錄表中列出來每個(gè)Sheet的名字,并且添加超鏈接。
■首先放一個(gè)框架,我要循環(huán)每個(gè)Sheet,獲取sheet的名字:
Sub 循環(huán)每個(gè)sheet并獲取名字() For Each sht In Worksheets MsgBox sht.Name NextEnd Sub但是我們的目錄本身這個(gè)sheet不參與寫入目錄,所以需要嵌套一個(gè)If判斷語句,當(dāng)sheet的名字不是目錄的時(shí)候,我們才獲取名字。
Sub 循環(huán)每個(gè)sheet并獲取名字() For Each sht In Worksheets If sht.Name <> "目錄" Then MsgBox sht.Name Else End If NextEnd Sub名字獲取到了,我們想把它按順序?qū)懭氲侥夸涍@個(gè)表的A列,我們添加一個(gè)變量i,用于記錄表格個(gè)數(shù),同時(shí)也是為了記錄已使用的行:
Sub 循環(huán)每個(gè)sheet并獲取名字() For Each sht In Worksheets If sht.Name <> "目錄" Then i = i + 1 Cells(i, 1) = sht.Name Else End If NextEnd Sub運(yùn)行完上述代碼后,出現(xiàn)下面的結(jié)果(我們已經(jīng)成功一半了):
■下面我們就要對(duì)A列的名字添加超鏈接了。這個(gè)記不下來,只能錄制宏來解決。
我們以添加【1日】這個(gè)表的超鏈接為例,錄制宏我們得到了一堆代碼:
Sub 宏1() Range("A1").Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'1日'!A1", TextToDisplay:="1日"End Sub通過查看幫助,我知道了添加超鏈接的具體參數(shù)含義:
實(shí)際表名.Hyperlinks.Add 創(chuàng)建位置,地址,副地址,屏幕提示,顯示文本
修修改改,套入循環(huán)框架后,最終我們的代碼如下:
Sub 循環(huán)每個(gè)sheet并獲取名字() For Each sht In Worksheets If sht.Name <> "目錄" Then i = i + 1 Cells(i, 1) = sht.Name ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:=sht.Name & "!A1" Else End If NextEnd Sub那么,如何在每個(gè)分表中添加【返回目錄】的超鏈接
其實(shí)只需要加一句代碼即可:
Sub 循環(huán)每個(gè)sheet并獲取名字() For Each sht In Worksheets If sht.Name <> "目錄" Then i = i + 1 Cells(i, 1) = sht.Name ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:=sht.Name & "!A1" sht.Hyperlinks.Add Anchor:=sht.Cells(1, 1), Address:="", SubAddress:="目錄!A1", TextToDisplay:="返回目錄" Else End If NextEnd Sub最終效果如下:
原創(chuàng)不易,如果你覺得不錯(cuò),希望你能幫忙轉(zhuǎn)發(fā)或者再看~
總結(jié)
以上是生活随笔為你收集整理的vb microsoft.xmlhttp 获取所有超链接_利用VBA批量自动生成表格超链接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去掉a标签下划线_条码软件如何修改条码标
- 下一篇: sqlserver模糊查询不用like_