设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4026|回复: 4
打印 上一主题 下一主题

如何一次设置很多HYPERLINK

[复制链接]
跳转到指定楼层
1#
发表于 2005-1-28 00:06:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题:一个工作簿有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对象有个缺点就是不利于程序设计,因为里面好象不好设置变量。大家有什么建议,帮忙拉。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-1-28 01:56:00 | 只看该作者
其实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

3#
 楼主| 发表于 2005-1-28 04:20:00 | 只看该作者
谢谢你,老鬼,我觉得你名字不COOL,但是又不知道怎么叫你,我用过了,很不错,我是一直固守思维,没想到range("b"&(i-1))这样的用法。呵呵,希望多多帮助。
4#
发表于 2005-2-18 18:51:00 | 只看该作者
再发挥一下,用漂亮的按钮来实现:

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编辑过]

5#
发表于 2005-3-12 02:20:00 | 只看该作者
你好:zhc73051.能否按否增加顏色2.增加按鈕位置在B行排列
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-14 13:59 , Processed in 0.101919 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表