沙漠贝壳 发表于 2021-10-26 22:14:00

工作表拆分+工作簿拆分,求助大神

1、首先是按照工作表拆分,第一列(区域)相同的行则拆分到同一张表,希望表格行和列不受限制;
2、其次还需按照工作簿拆分,拆分后工作簿中不同工作表只留有同一区域的数据,每一个工作表都是从第6行开始拆分。如北京分部,“总成本”、“总业绩”和“总利润”都只留有北京分部。希望工作簿的拆分不限于两个,可能加到7-8个工作簿。
3、保留原格式不变
4、拆分同一工作表已有代码,但不知道怎么改写到适用现在的需求,求大神协助!感谢!
Sub 拆分()
'
' 拆分 Macro
'
Dim i%
arr = Sheets(1)..CurrentRegion
Set d = CreateObject("scripting.dictionary")
For i = 6 To UBound(arr)
If d.exists(arr(i, 1)) Then
Set d(arr(i, 1)) = Union(d(arr(i, 1)), Rows(i))
Else
Set d(arr(i, 1)) = Union(Rows("1:5"), Rows(i))
End If
Next i
For ss = 0 To d.Count - 1
Workbooks.Add
With ActiveWorkbook
d.items()(ss).Copy .Sheets(1).
.SaveAs ThisWorkbook.Path & "/" & d.keys()(ss)
.Close
End With
Next ss
End Sub

我要实名认证董磊 发表于 2021-10-31 23:45:04

拆分问题到我的主题里面去看看吧,几个拆分工具,一定有一个能够满足你所有需求的

一若一金 发表于 2021-12-11 22:53:38

我在你的代码基础上加了一段和修改了一些内容,还有数据表格第一行和第二行各加了几个字符进去,由于水平面有限,有空格还搞不会,所以加了不让他空数据,空数据这段代码一直出错,我也不知道原因,由于小白还在学习当中,只会这些,继续进步继续学习。

典典皇 发表于 2022-1-10 16:56:29

发上去的竟然没有了,再发一次。
水平有限,有空格的还不会处理,所以我在你的表格第一行和第二加了几个字符,不让他空着,第二和第三的表中各加了一行,因为保持全部从第六行作为起始行。
一起学习一起进步。
页: [1]
查看完整版本: 工作表拆分+工作簿拆分,求助大神