
如下图所示,您需要根据部门划分下表中的内容,每个部门将组成一个工作簿:

图1需求说明
为满足上述要求,专门设计了分割工具. 步骤如下:
步骤1: 拆分后确定工作簿的存储位置:

图2拆分表后的存储位置
在操作期间,将在对应于单元格B2的路径下生成一个文件夹(命名为单元格B1的内容). 拆分后将工作簿存储在其中.
第2步: 将要拆分的内容存储在拆分工具的“数据”工作表中:

图3确定贷款拆分的内容
第3步: 确定用于拆分“数据”工作表内容的列:


图4确定拆分基础的列
第4步: 点击“开始拆分”按钮:

图5选择开始拆分
分割后的结果:

图6拆分后的结果
具体操作过程如下:
了解视频
相应的代码是:
子拆分表()
将w,j,k设置为整数

将范围调整为范围
将strrng,strkey,strpath,strdepart,文件名作为字符串昏暗
将另存的路径另存为字符串
将wb视作工作簿
'---------------------------------------------- --------------------------------------------------提取主键列表
strkey = ThisWorkbook.Sheets(“ Configuration”). Range(“ B3”)
w = ThisWorkbook.Sheets(“ data”). Range(strkey&65536).End(xlUp).Row
strrng = ThisWorkbook.Sheets(“ Configuration”). Range(“ B3”)&“ 1: B”&w
文件名= ThisWorkbook.Sheets(“配置”).Range(“ B1”). 值
ThisWorkbook.Sheets(“ Assist”). Cells.Clear
设置rng = ThisWorkbook.Sheets(“ data”). Range(strrng)
rng.AdvancedFilter操作: = xlFilterCopy,唯一: = True,复制到范围: = ThisWorkbook.Sheets(“ Assist”). Range(“ A1”)
设置rng =无效

savepath = ThisWorkbook.Sheets(“ Configuration”). Range(“ B2”)&ThisWorkbook.Sheets(“ Configuration”). Range(“ B1”)
使用ThisWorkbook.Sheets(“ data”). Range(“ A1”). CurrentRegion
'---------------------------------------------- --------------------------------------------------新文件夹
如果Dir(savepath,vbDirectory)“”然后
MsgBox“表拆分文件已存在”
其他
MkDir保存路径
MsgBox“文件夹创建成功”
如果结束
'---------------------------------------------- --------------------------------------------------拆分表
k = ThisWorkbook.Sheets(“ auxiliary”). Range(“ A65536”). End(xlUp).Row
strpath =保存路径
ThisWorkbook.Sheets(“ auxiliary”). Range(“ B1”)= ThisWorkbook.Sheets(“ auxiliary”). Range(“ A1”)

对于j = 2到k
ThisWorkbook.Sheets(“ auxiliary”). Range(“ B2”)= ThisWorkbook.Sheets(“ auxiliary”). Range(“ A”&j)
设置wb = Workbooks.Add
ThisWorkbook.Activate
.AdvancedFilter操作: = xlFilterCopy,CriteriaRange: = ThisWorkbook.Sheets(“辅助”).Range(“ B1: B2”),copytorange: = wb.Sheets(1).Range(“ A1”)
wb.Sheets(1).Cells.Columns.AutoFit
wb.SaveAs strpath&“ \”&ThisWorkbook.Sheets(“ auxiliary”). Range(“ B2”)&“ .xlsx”
wb.Close
设置wb =无
ThisWorkbook.Sheets(“ auxiliary”). Range(“ B2”). ClearContents
下一个j
结尾为
结束子
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-298187-1.html
我们也派军舰到他家去吧