Vba工具-把一个总表按任何1列维度拆分成n个子表
第一步:删除总表以外的表
第二步:按所选维度拆分表并命名
第三步:把内容复制到子表
Sub 拆分()
excel.application.display alerts=false
excel.application.screenupdating=false
x=int(inputbox=“请输入以哪一列拆分:”)
Dim s1,i,k,j
if sheets.count>1 then
for each s1 in sheet
if s1.name <>”sheet1”then
s1.delete
endif
next
endif
i=2
Do while sheet1.range(“A”&i)<>””
k=0
For each s2 in sheets
if s2.name=sheet1.cells(i,x) then
k=1
endif
next
if k=0 then
sheets.add after:=sheets(sheets.count)
sheets(sheets.count).name=sheet1.cells(i,x)
endif
I=I+1
loop
For j =2 to sheets.count
Sheet1.usedrange.autofilter field:=x,criteria:=sheet(j).name
sheet1.usedrange.copy sheet(j).range(“A1”)
next
excel.application.display alerts =true
excel.application.screenupdating=true
sheet1.select
msg”处理成功”
end sub