分享

办公神技

 荷塘月色XLX 2017-01-29

办公神技---为同一工作簿下的所有工作表建一个带链接的目录

新年祝福

亲爱的读者,Excel爱好者:

大家新年好!!

我们知道:一个工作簿下可以创建多张工作表,当工作表张数多达十几张,甚至上百张时,这就不方便我们随意地读取任意一张工作表。

如果能够创建一张带链接的目录工作表,那么,我们的工作岂不是更加任性了呢?

不用担心,请看下面:

首先在Excel编辑器下插入一模块,再把下面的代码复制到此模块中,我们就可以轻松地解决上述问题了。

Sub CreateMulu()

'为同一工作簿的所有工作表创建一个带链接的目录工作表

Dim ws As Worksheet, wt As Worksheet, irow As Byte

On Error Resume Next

Set wt = Worksheets('目录工作表')

'如果没有目录工作表,则新建次表,反之,跳过此程序。

If wt Is Nothing Then

Worksheets.Add before:=Worksheets(1)

ActiveSheet.Name = '目录工作表'

Set wt = Worksheets('目录工作表')

End If

On Error GoTo 0

'定义目录工作表表头

With wt

.Cells.ClearContents

.[a1:b1].Value = Array('Number', 'SheetName')

End With

'为同一工作簿中的所有工作表建立目录

irow = 2

For Each ws In Worksheets

wt.Cells(irow, 'A').Value = irow - 1 '定义工作表在目录工作表中的Number号

'获取Sheet Name并创建链接的对象位置及其地址

wt.Hyperlinks.Add anchor:=wt.Cells(irow, 'B'), Address:='', SubAddress:=''' & ws.Name & ''!a1', TextToDisplay:=ws.Name

irow = irow 1

Next ws

End Sub

若更进一步方便我们工作,上述代码还不够。如果每一张工作表又可以返回到目录工作表中,这该多好啊!

大家别担心,这个功能仅需在上述模块中插入三行代码便可搞定。请看:

Sub 返回目录工作表()

Sheets('目录工作表').Select

End Sub

只要每张工作表里插入一命令按钮,把这三行代码赋于此按钮,就Ok了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多