专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  告别DeepSeek ... ·  2 天前  
Excel之家ExcelHome  ·  DeepSeek办公自动化:一秒生成工作表目录 ·  昨天  
Excel之家ExcelHome  ·  Excel条件格式+控件,动态报表很简单 ·  昨天  
完美Excel  ·  使用deepseek自动编写Excel公式 ·  4 天前  
完美Excel  ·  让deepseek实现从Word文档自动提取 ... ·  6 天前  
51好读  ›  专栏  ›  Excel之家ExcelHome

DeepSeek办公自动化:一秒生成工作表目录

Excel之家ExcelHome  · 公众号  · Excel  · 2025-02-09 07:45

正文

内事不决问百度,外事不决问谷歌,工作难题就问DeepSeek。
如下图,当前文档中有多个工作表,今天咱们就让DeepSeek来创建带链接的工作表目录。

打开deepseek官网,输入咱们的要求:
Excel文档中有多个工作表,希望生成带超链接的目录,请提供一段VBA代码,并对代码进行注释,同时说明代码的使用方法。


思索片刻, deepseek就给出了解决方法:

Sub CreateTableOfContents()    ' 定义变量    Dim ws As Worksheet          ' 用于循环遍历工作簿中的每个工作表    Dim tocSheet As Worksheet    ' 用于引用目录工作表    Dim rowIndex As Integer      ' 用于跟踪目录中的行号
' 设置目录工作表和初始行号 Set tocSheet = ThisWorkbook.Sheets(1) ' 假设目录放在第一个工作表 rowIndex = 1 ' 从第一行开始
' 清除目录工作表中的所有内容 tocSheet.Cells.Clear
' 添加目录标题 tocSheet.Cells(rowIndex, 1).Value = "目录" tocSheet.Cells(rowIndex, 1).Font.Bold = True rowIndex = rowIndex + 1
' 循环遍历工作簿中的每个工作表 For Each ws In ThisWorkbook.Sheets ' 跳过目录工作表本身 If ws.Name <> tocSheet.Name Then ' 在工作表中添加工作表名称和超链接 tocSheet.Cells(rowIndex, 1).Value = ws.Name tocSheet.Hyperlinks.Add Anchor:=tocSheet.Cells(rowIndex, 1), _ Address:="", _ SubAddress:="'" & ws.Name & "'!A1", _ TextToDisplay:=ws.Name rowIndex = rowIndex + 1 End If Next ws
' 调整目录工作表的列宽 tocSheet.Columns("A:A").AutoFit
' 提示用户目录已生成 MsgBox "目录已生成在第一个工作表中!", vbInformationEnd Sub


同时给出了详细的代码说明:

  1. 变量定义
  • ws :用于循环遍历工作簿中的每个工作表。
  • tocSheet :用于引用目录所在的工作表。
  • rowIndex :用于跟踪目录中的行号。
  • 设置目录工作表
    • Set tocSheet = ThisWorkbook.Sheets(1) :假设目录放在第一个工作表中。
    • rowIndex = 1 :从第一行开始添加目录。
  • 清除目录工作表中的所有内容
    • tocSheet.Cells.Clear :清除目录工作表中的所有内容,以便生成新的目录。
  • 添加目录标题

    • tocSheet.Cells(rowIndex, 1).Value = "目录" :在第一行添加“目录”标题。

    • tocSheet.Cells(rowIndex, 1).Font.Bold = True :将标题加粗。

    • rowIndex = rowIndex + 1 :行号加1,准备添加工作表名称。

  • 循环遍历工作簿中的每个工作表

    • For Each ws In ThisWorkbook.Sheets :循环遍历工作簿中的每个工作表。

    • If ws.Name <> tocSheet.Name Then :跳过目录工作表本身。

    • tocSheet.Cells(rowIndex, 1).Value = ws.Name :在工作表中添加工作表名称。

    • tocSheet.Hyperlinks.Add :为每个工作表名称添加超链接,点击后跳转到对应工作表的A1单元格。

    • rowIndex = rowIndex + 1 :行号加1,准备添加下一个工作表名称。

  • 调整目录工作表的列宽

    • tocSheet.Columns("A:A").AutoFit :自动调整目录工作表的列宽,以便完整显示工作表名称。

  • 提示用户目录已生成

    • MsgBox "目录已生成在第一个工作表中!", vbInformation







    请到「今天看啥」查看全文