Office中国论坛/Access中国论坛
标题:
如何一次设置很多HYPERLINK
[打印本页]
作者:
罗生门
时间:
2005-1-28 00:06
标题:
如何一次设置很多HYPERLINK
问题:一个工作簿有30多个表,现在我想建立一个目录,上面显示各个表名,然后设置超级键连,使得目录上的表名可以直接跳转到那个工作表.
解决方案:请大家想想,我现在只能使用VBA把所有的表名一次列出来。
sub printname()
dim i as integer
for i=2 to sheets.count
sheets(1).cells(i-1,1).value=sheets(i).name
next i
end sub
然后录制了一个超级连接的宏,发现EXCEL是这么设计的
range("a1").select
activesheet.hyperlink.add anchor:=selection,subaddress:=***,texttodisplay:=***
不知道怎么改进,才可以快速解决这个问题。
实际上,我觉得RANGE对象有个缺点就是不利于程序设计,因为里面好象不好设置变量。大家有什么建议,帮忙拉。
作者:
老鬼
时间:
2005-1-28 01:56
其实RANGE对象的效率要比CELLS高,只不过看起来不太直观而已。你的要求用RANGE就很简单:Sub printname()
For i = 2 To Sheets.Count
Range("B" & (i - 1)).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name
Next i
End Sub
作者:
罗生门
时间:
2005-1-28 04:20
谢谢你,老鬼,我觉得你名字不COOL,但是又不知道怎么叫你,我用过了,很不错,我是一直固守思维,没想到range("b"&(i-1))这样的用法。呵呵,希望多多帮助。
作者:
zhc7305
时间:
2005-2-18 18:51
再发挥一下,用漂亮的按钮来实现:
Sub 生成超链接()
'
' 时间: 2005-2-17
'
'生成工作薄表目录,以按钮进行链接
'
For i = 2 To Sheets.Count
ActiveSheet.Shapes.AddShape(msoShapeActionButtonCustom, 352.5, 80 + (i - 2) * 40, 73.5, 25). _
Select
Selection.Characters.Text = Sheets(i).Name
With Selection.Characters(Start:=1, Length:=2).Font
.Name = "华文新魏"
.FontStyle = "常规"
.Size = 12
End With
Selection.HorizontalAlignment = xlCenter
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), _
Address:="", SubAddress:=Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name
Next i
End Sub
[此贴子已经被作者于2005-2-18 10:53:23编辑过]
作者:
joyark
时间:
2005-3-12 02:20
你好:zhc7305
1.能否按否增加顏色2.增加按鈕位置在B行排列
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3