打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
以工作表名生动生成目录

来源:http://club.excelhome.net/forum.php?mod=viewthread&tid=469166&page=1

Sub zldccmx()
    Dim i As Integer     '声明几个变量
    Dim ShtCount As Integer
    Dim Nsh As Worksheet
    ShtCount = Worksheets.Count    '取得工作表数量
    If ShtCount < 2 Then Exit Sub     '如果只有一个工作表则退出
    Application.ScreenUpdating = False     '禁止屏幕实时更新
    On Error Resume Next
    Set Nsh = Sheets("目录")
    If Err.Number <> 0 Then
        Set Nsh = Sheets.Add(before:=Sheets(1))    '在最左边插入一个新的工作表
        Nsh.Name = "目录"  '给工作表命名为"目录"
        Err.Clear
    Else
        Nsh.Visible = xlSheetVisible    '让工作表可见
        Nsh.Move before:=Sheets(1)    '将工作表 “目录” 移到最左边
        Nsh.Columns("B:B").Delete Shift:=xlToLeft    '删除B列
    End If
    On Error GoTo Tuichu    '一旦出错就转到 Tuichu 行
    Application.StatusBar = "正在生成目录…………请等待!"  '设置状态栏显示信息
    For i = 2 To ShtCount  '遍历工作表
        '在目录工作表中,依次将其它工作表的名称写进目录工作表的B列,并设置链接(快捷方式)
        Nsh.Hyperlinks.Add Anchor:=Nsh.Cells(i, 2), Address:="", SubAddress:="'" & Sheets(i).Name & "'!R2C2", TextToDisplay:=Sheets(i).Name
    Next
    With Nsh.Range("B1")
        .EntireColumn.AutoFit    'B列自动适应宽度
        .Value = "目录"  'B1单元格赋值
        .HorizontalAlignment = xlDistributed  '设置水平对齐方式
        .VerticalAlignment = xlCenter  '垂直居中
        .AddIndent = True     '指明当单元格中文本的对齐方式为水平或垂直等距分布时,文本为自动缩进。
        .Font.Bold = True     '加粗
        .Interior.ColorIndex = 34  '设定底色
    End With
    Application.StatusBar = False   '关闭状态栏显示信息
    Application.ScreenUpdating = True     '打开屏幕实时更新
Tuichu:
End Sub

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【VBA实战系列】003-相同表名合并到一个工作薄
EXCEL文件里的工作表太多,简单VBA代码快速添加目录表
隐藏工作表
文件夹下的所有工作簿内和所有工作表目录
技巧看够了吗!来点不一样的
excel工作表批量重命名的方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服