excel中怎么样按某一列的数据自动分成几张表格(要在不同的工作簿中vba)

我在网上找到一段代码能实现一个表中分成几个sheet表,请问怎样能分解成单独几个excel工作簿。代码:Subtest()WithActiveSheetr=2'数据从第2... 我在网上找到一段代码能实现一个表中分成几个sheet表,请问怎样能分解成单独几个excel工作簿。
代码:
Sub test()With ActiveSheetr = 2 '数据从第2行开始t = .Cells(r, 3).Value '获取第r行第3列的值即第一个班级名称Do Until t = "" '循环直到获得的单元格内容为空n =Application.WorksheetFunction.CountIf(.Range("c:c"), .Cells(r, 3)) '计算C列第r行第3列单元格的个数Sheets.Add '插入一个新的工作表.Range("a1:d1").Copy Range("a1")'将表头复制到新表.Cells(r, 1).Resize(n, 4).CopyRange("a2") '从第r行第1列开始向右向下扩展n行4列复制到新表的a2r = r + n '获取下一个班级所在行号t = .Cells(r, 3).Value '第2句注释LoopEnd WithEnd Sub
展开
 我来答
香格里拉稻草人
推荐于2016-07-19 · TA获得超过385个赞
知道小有建树答主
回答量:494
采纳率:66%
帮助的人:377万
展开全部

1 下载附件,点击按钮

2 按要求根据C列在本工作簿路径下创建N个工作簿并导入有关数据,新创建的工作簿按班级名称命名

3 不明白hi我

更多追问追答
追问
你这个可以,但请问有没有程序,或者创建方法?谢谢!
追答
代码在工作簿中
sk432600
2014-02-12 · 知道合伙人软件行家
sk432600
知道合伙人软件行家
采纳数:580 获赞数:2264
毕业于华北水利水电学院,本科学位.cad excel 等办公相关软件操作,现为公司技术员

向TA提问 私信TA
展开全部
希望能帮到你
Sub 分班() '分班的表格在"我的文档"
Dim k, l, m, s
On Error Resume Next
k = 2
l = 3
m = InputBox("数据最下边一行的行数", , 12)

Do While Cells(l, 3) <> ""
Do While Cells(l, 3) = Cells(k, 3) And l < m
Cells(l, 3).Select
l = l + 1
Loop
s = Cells(l - 1, 3)
Range(Range("c" & l - 1), Range("c" & k)).Select
Selection.EntireRow.Copy
Workbooks.Add
Cells(1, 1) = "姓名"
Cells(1, 2) = "性别"
Cells(1, 3) = "班级"
Cells(1, 2) = "学籍辅号"
Rows("2:2").Select
Selection.Insert Shift:=xlDown
ActiveWorkbook.SaveAs Filename:="班级" & s
ActiveWorkbook.Close
k = l

l = k + 1
Loop
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyzxh

2014-02-12 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8340
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
可以先建一个模板文件,然后每选一个班级,打开这个模板,写入数据后另存为班级名
Workbooks.Open ThisWorkbook.Path & "\模板.xls"
Set c = ActiveWorkbook
‘写入数据
c.SaveAs ThisWorkbook.Path & "\“ & bjname & ".xls"
c.Close
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伍雄爱爱
2020-07-20
知道答主
回答量:43
采纳率:0%
帮助的人:8.4万
展开全部
我也经常遇到这个问题,先是经常需要把数据拆分到各个部门经理,后来又经常要把数据拆分到各个县。
也考虑用VBA实现,结果能实现了,但是因为数据量太大,电脑卡得比人工还慢,最后用python解决了,一分钟不到,完成所有拆分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
破解314426642
2014-02-12 · TA获得超过508个赞
知道答主
回答量:329
采纳率:0%
帮助的人:116万
展开全部
把G3改成10,然后在G4中输入:=IF(B4<$G$3,$B$3&",","")&IF(C4<$G$3,$C$3&",","")&IF(D4<$G$3,$D$3&",","")&IF(E4<$G$3,$E$3&",&quo...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式