转将excel按照某一列拆分成多个单独文件
- 2026-10-19 01:12:37
转将excel按照某一列拆分成多个单独文件
上述内容来自于

原先写的拆分表格的python代码怎么崩了,不知道是不是pandas包更新的缘故。还好找了段vba代码实现同样的功能,就是运行起来相对较慢,但生成三百个文件也还好。
在excel中按下alt+F11生成上图界面
输入VBA代码
Sub 保留表头拆分数据为若干新工作簿()Dim arr, d As Object, k, t, i&, lc%, rng As Range, c%c = Application.InputBox("请输入拆分列号", , 4, , , , , 1)If c = 0 Then Exit SubApplication.ScreenUpdating = FalseApplication.DisplayAlerts = Falsearr = [a1].CurrentRegionlc = UBound(arr, 2)Set rng = [a1].Resize(, lc)Set d = CreateObject("scripting.dictionary")For i = 2 To UBound(arr)If Not d.Exists(arr(i, c)) ThenSet d(arr(i, c)) = Cells(i, 1).Resize(1, lc)ElseSet d(arr(i, c)) = Union(d(arr(i, c)), Cells(i, 1).Resize(1, lc))End IfNextk = d.Keyst = d.ItemsFor i = 0 To d.Count - 1With Workbooks.Add(xlWBATWorksheet)rng.Copy .Sheets(1).[a1]t(i).Copy .Sheets(1).[a2].SaveAs Filename:=ThisWorkbook.Path & "\" & k(i) & ".xls".CloseEnd WithNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueMsgBox "完毕"End Sub
https://blog.csdn.net/qq_35893120/article/details/83826034
还是好人多啊
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。