DeepSeek怎么一秒生成工作表目录? DeepSeek办公自动化的技巧


    内事不决问百度,外事不决问谷歌,工作难题就问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 "目录已生成在第一个工作表中!", vbInformation
    End Sub

    同时给出了详细的代码说明:
    变量定义
    
  • 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:弹出一个消息框,提示用户目录已生成。
还给出了详细的使用方法:
    1、打开Excel工作簿,按 Alt + F11 打开VBA编辑器。
    2、在VBA编辑器中,点击插入 -> 模块,插入一个新模块。
    3、将上述代码复制并粘贴到新模块中。
    4、按 F5运行。
    
  • 运行后,在第一个工作表中将生成一个带超链接的目录,点击目录中的工作表名称即可跳转到对应的工作表。
并且贴心的给出了注意事项::
  • 如果目录工作表不是第一个工作表,请修改 Set tocSheet = ThisWorkbook.Sheets(1) 中的索引号。
  • 如果工作簿中有隐藏的工作表,它们也会被包含在目录中。如果不希望包含隐藏工作表,可以在循环中添加条件判断。

    按说明进行操作,果然一秒出结果:
    
    在对DeepSeek提问时,应该明确目标、数据结构、特殊需求、分步描述和具体例子,这些都是帮助模型准确生成Excel代码或者公式的关键因素。