EXCEL中,如果用VBA实现对所有工作表建立超链接

我要在一列单元格中,每一行对应一个工作表进行超链接,如何用VBA实现,谢谢,我的OFFICE是2003版的。
dim i as range‘是设置超联的单元格
dim h as string‘是设置超联的单元格显示的内容

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _SubAddress:=i, TextToDisplay:=h
这段不会用,放入代码段没办法运行。

Sub sheetName() 'activesheet 从a1开始每行链接工作表

Dim i As Range '是设置超联的单元格

Dim h As String '是设置超联的单元格显示的内容

Dim a As Integer

With ActiveSheet

Set i = [a1] 'output cell

For a = 1 To ThisWorkbook.Worksheets.Count

h = Worksheets(a).Name

i.Hyperlinks.Add Anchor:=i, Address:="", SubAddress:=Worksheets(a).Name & "!a1", TextToDisplay:=h

Set i = i.Offset(1, 0)

Next a

End With

End Sub

参考资料:http://wenku.baidu.com/view/98566337ee06eff9aef80795.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-28
右键目录工作表标签
点击“查看代码”
把下面的代码粘贴到空白区域
然后你再重新点击一下目录工作表
如果仍有显示,可以换点其它工作表后
再点一下目录工作表即可实现你的功能了
这里不需要超链接,只需要一个激活就行了

Private Sub Worksheet_Activate()
ActiveSheet.Cells.Clear
For i = 1 To Sheets.Count
Cells(i, 1).Value = Sheets(i).Name
Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
Sheets(Target.Row).Select
Else
Exit Sub
End If
End Sub
第2个回答  推荐于2017-11-23
首先要在此工作簿中,建立一个名叫“首页”的工作表,然后执行下面代码即可。
Sub 链接()
Sheets("首页").Select
'显示所有工作表
For i = 1 To Sheets.Count
Cells(i, 1).Value = Sheets(i).Name
Next
'超链接
For i = 1 To Sheets.Count
t = Cells(i, 1)
Cells(i, 1).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=t & "!A1", ScreenTip:="进入", TextToDisplay:=t
Next
End Sub本回答被提问者和网友采纳
第3个回答  2010-03-04
楼上们已经回答的非常好了,我就不多说了~

简单比较一下几个人的代码,多试几次你就能做出判断了~

这段代码还是很有用的~
相似回答