ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 动画教程 > Excel VBA > 创建工作表目录且能链接到隐藏的工作表(附操作动画与源代码)

创建工作表目录且能链接到隐藏的工作表(附操作动画与源代码)

作者:绿色风 分类: 时间:2022-08-18 浏览:163
楼主
罗刚君
     对工作表创建带链接的目录见多了吧?但如果目录所指向的目标工作表处于隐藏状态时照样能打开的则没见过吧?
    有兴趣的话,不防跟着学习,操作动画和源代码一并奉上!
    摘自《Excel 2010 VBA编程与实践》书中案例40,第77页

 


工作表目录.rar

2楼
rabbitllu
VBA就是强大呀,坚决下载学习
3楼
xmyjk
谢谢罗版分享。
4楼
[CN]★中★和★
对老师的敬仰有如滔滔江水
5楼
南方有嘉木n_n
我用了这个代码试了一下,发现如果工作表名称是文本型的数值,且首位为“0”,创建到目录时会自动将首位0取消掉,也就是变成了数值型。这个能在代码中解决吗?
6楼
罗刚君
在代码中将文件名转换成文本即可,单元格的格式也采用文本
代码很简单
7楼
南方有嘉木n_n
一点不懂代码,怎么改?
8楼
pkpkyb
可以哟
9楼
mmice
模块1 这样改

Sub 建立目录()
    Dim i As Integer '声明变量
    On Error Resume Next '防错,表示遇到代码错误时继续执行下一步
    Application.ScreenUpdating = False '关闭屏幕更新,加快执行速度
    For i = 1 To Sheets.Count '遍历所有工作表(循环检查每个表的名字)
        If Sheets(i).Name = "工作表目录" Then GoTo you '如果有“工作表目录”则跳转到you处
    Next
        Sheets.Add.Name = "工作表目录" '新建工作表,且命名为“工作表目录”
    Sheets("工作表目录").Move after:=Sheets(Sheets.Count) '将新表移到最后面
    Columns("A:A").HorizontalAlignment = xlCenter '将A列居中显示
    Columns("B:B").HorizontalAlignment = xlLeft  '将B列左对齐
    Range("A:B").NumberFormatLocal = "@" '将AB列的单元格格式设置为文本
    Range("A2").Select '选择A2
    ActiveWindow.FreezePanes = True '然后锁定窗格(目的是冻结首行)
you:  '指定一个标签。(可以从本过程中任何地方跳转到此处继续执行)
    Sheets("工作表目录").Select '选择工作表目录
    Range("A:B").Clear '清除原有数据
    Range("A1:B1") = Array("编号", "目录") '写入标题
    For i = 1 To Sheets.Count - 1 '遍历所有工作表(工作表目录除外)
        Cells(i + 1, 1).Value = i '在A列写入编号
        If IsNumeric(Sheets(i).Name) Then Cells(i + 1, 2).Value = "'" & (Sheets(i).Name)  '在B列创建工作表名
        '创建工作表目录
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, 2), Address:="", SubAddress:="'" & Sheets(i).Name & "'" & "!A1", TextToDisplay:=Sheets(i).Name, ScreenTip:="单击打开:" & Cells(i + 1, 2)
    Next
    Application.ScreenUpdating = True '恢复屏幕更新
End Sub
10楼
ks-108
建立文件目录及隐藏工作表
11楼
ks-108
转走,谢了!
12楼
wfel100
我不可以不用手动编辑咯  
13楼
297476073
感谢!灰常的谢谢!
14楼
yytax2010
要有返回目录隐藏所有工作表就好了!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap