有一个总表,有很多行数据,现在要根据姓名列,来拆分。同一个人的数据单独存放在一个分表里。
怎么拆?可以透视表拆,在我的课程里《Excel+PPT+Word小白变大神[500节]》里讲过的。课时195,ED027。
今天呢,我给大家分享一种VBA拆分法。代码照着搬过去就行了。
Sub 拆分成分表()
Dim x As Long, y As Long
Dim rng
Dim d As Object
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set d = CreateObject("scripting.dictionary")
With Worksheets("明细表")
x = .Cells(.Rows.Count, 1).End(xlUp).Row
c = .Cells(1, .Columns.Count).End(xlToLeft).Column
rng = .Range("B1:B" & x)
For y = 2 To UBound(rng)
xm = CStr(rng(y, 1))
If Not d.exists(xm) Then
Set d(xm) = .Range("a1").Resize(1, c)
End If
Set d(xm) = Union(d(xm), .Cells(y, 1).Resize(1, c))
Next
End With
For Each ll In d.keys
On Error Resume Next
Set sht = Worksheets(ll)
If Err Then
Set sht = Worksheets.Add(after:=Worksheets(Worksheets.Count))
sht.Name = ll
End If
On Error GoTo 0
With Worksheets(ll)
.Cells.Clear
d(ll).Copy .Range("A1")
End With
Next
End Sub
然后,开发工具,宏(也可以按alt+f8)
选择这个宏“拆分成分表”,执行
结果很快出来了
拆分出来的结果截图
更多帅o(╥﹏╥)o的技能,尽在
更详细的解释都在课程里。《Excel+PPT+Word小白变大神[520节]》
更多活灵活现淋漓尽致酣畅淋漓的解读
更多Excel,PPT,Word 实战技能足以让你傲视群雄
请阅读原文加入我的课程《Excel+PPT+Word小白变大神[将520节]》
点击阅读原文,打开购买链接,一次购买课程,享受终生辅导
李则见老师大部分情况下都直接回答你关于课程本身的所有问题
我微信号excelpptpeixun
让我成为你职场上office成长加速器
让我成为你职场上office软件技能的顾问
长期陪伴你一起成长一起进步一起转折
请火速加入这套课程,最终530节大餐,饕餮之夜等您开启
2018年找对目标,开始学习之旅,从此不再蹉跎时光
《Excel+PPT+Word小白变大神[即将520节]》
让李则见能成为您身边的长期的office顾问!
只需要加入本套视频课程即可。
欢迎转发朋友圈。
公共号转载须授权。