|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 lsc900707 于 2017-5-18 16:29 编辑
学会给给予帮助者送花,很多问题都很快解决,不信你试试:
Sub 如何将一个Excel工作表的数据拆分成多个工作表()
tms = Timer
Application.ScreenUpdating = False '关闭屏幕更新
arr = Range("A1").CurrentRegion.Value
lc = UBound(arr, 2) '求取最后一列的列号
Set rng = Rows(1) '标题行
Set Dic = CreateObject("Scripting.Dictionary") '创建字典
For i = 2 To UBound(arr)
s = arr(i, 16) '订单号,关键字
If Not Dic.Exists(s) Then '如果字典没有关键字
Set Dic(s) = Cells(i, 1).Resize(, lc) '把当前行装入到字典中
Else '否则(字典中存在关键字)
Set Dic(s) = Union(Dic(s), Cells(i, 1).Resize(, lc)) '把行连合起来
End If
Next
k = Dic.Keys '字典关键字集合
t = Dic.Items '字典项目集合
For i = 0 To Dic.Count - 1 '循环关键字的个数
With Workbooks.Add(xlWBATWorksheet)
rng.Copy .Sheets(1).[a1]
t(i).Copy .Sheets(1).[a2]
.SaveAs Filename:=ThisWorkbook.Path & "\" & k(i), FileFormat:=xlExcel8
.Close
End With
Next
Application.ScreenUpdating = True '打开屏幕更新
MsgBox "拆分完成!耗时" & Timer - tms & "秒"
End Sub |
评分
-
1
查看全部评分
-
|