继昨日成功运用Deepseek设置公式后,今日我们迎来了更具挑战性的表格处理任务。需求是将下图中所示的表格,依据A列的项目内容,进行拆分并保存为独立的Excel文件,且每个文件的命名均采用A列相应的值。
拆分后的结果要求:
根据A列的项目内容,将表格进行拆分,并针对每个项目内容生成独立的Excel文件。每个文件的命名应与A列中相应的值保持一致。
详细操作流程:
首先,依据A列中列出的各个项目内容,分别对原始表格进行拆分。随后,针对每一个拆分出来的项目内容,都需单独创建一个新的Excel文件。在创建这些Excel文件时,务必确保每个文件的名称与A列中相应项目的名称保持严格一致。
1、利用DeepSeek生成代码
首先,访问https://www.deepseek.com/网站。接着,点击“上传”按钮,将需要处理的表格文件(或表格截图)进行上传。
在上传完表格文件或截图后,务必清晰地描述您的问题,以确保deepSeek能够准确理解并处理。
很快,一个清晰的思路和相应的VBA代码就呈现出来了,并且还附带了详尽的代码使用说明。
Sub SplitDataByProject() Dim dict As Object Dim wsSource As Worksheet Dim lastRow As Long, i As Long Dim key As Variant Dim newWb As Workbook Dim newWs As Worksheet Dim savePath As String ' 创建一个字典对象,用于存储唯一的项目值 Set dict = CreateObject("Scripting.Dictionary") Set wsSource = ThisWorkbook.Sheets("A表") ' 请根据实际情况修改表名 ' 找到数据区域中的最后一行 lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row ' 遍历数据区域,收集唯一的项目值(排除标题行) For i = 2 To lastRow If Not dict.exists(wsSource.Cells(i, 1).Value) Then dict.Add wsSource.Cells(i, 1).Value, Nothing End If Next i ' 设置默认的保存路径为当前工作簿的路径 savePath = ThisWorkbook.Path & "\" Application.ScreenUpdating = False ' 关闭屏幕更新,提高处理速度 Application.DisplayAlerts = False ' 关闭警告对话框,避免干扰处理过程 ' 遍历字典中的每个唯一项目值,进行处理 For Each key In dict.keys ' 创建一个新的工作簿,并获取其第一个工作表对象 Set newWb = Workbooks.Add Set newWs = newWb.Sheets(1) ' 在这里可以添加代码来处理每个唯一项目值对应的数据,例如复制标题行等操作。 ' 请根据实际需求进行相应的修改和扩展。 Next keyEnd SubwsSource.Rows(1).Copy newWs.Rows(1) ' 将源工作表的标题行复制到新工作表中' 应用筛选条件并复制可见数据wsSource.Range("A1:F" & lastRow).AutoFilter Field:=1, Criteria1:=keywsSource.UsedRange.Offset(1).SpecialCells(xlCellTypeVisible).Copy newWs.Range("A2")' 清除筛选条件wsSource.AutoFilterMode = False' 保存新工作簿并关闭newWb.SaveAs savePath & key & ".xlsx"newWb.CloseNext key ' 继续处理下一个唯一项目值' 恢复默认设置Application.ScreenUpdating = TrueApplication.DisplayAlerts = TrueMsgBox "已拆分生成 " & dict.Count & " 个文件!" ' 显示处理结果信息 2、按照上述说明操作,执行相关代码。首先,按下Alt+f11键打开VBE编程器,注意WPS用户需安装WPS VBA插件。接着,在插入菜单中选择添加模块,将代码粘贴到右侧的空白区域中,最后点击运行按钮即可。在执行相关代码后,仅需短暂等待,便可在当前文件夹中成功生成四个新文件。在执行相关代码并短暂等待后,系统在当前文件夹中成功生成了四个新文件。紧接着,用户打开这些文件,发现表格已经被顺利拆分,DeepSeek任务圆满结束。若需将代码保存在Excel工作簿中,请确保将文件另存为启用宏的工作簿。兰色进一步补充道:借助VBA的力量,DeepSeep能轻松应对诸多繁杂任务,诸如拆分Excel文件、合并多个工作簿等操作,皆不在话下。