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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel中怎么样按某一列的数据自动分成几张表格(要在不同的工作簿中vba)相关的知识,希望对你有一定的参考价值。

我在网上找到一段代码能实现一个表中分成几个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

1 下载附件,点击按钮

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

3 不明白hi我

追问

你这个可以,但请问有没有程序,或者创建方法?谢谢!

追答

代码在工作簿中

追问

看不到代码,好像加密了吧!

追答

私信给你

参考技术A 希望能帮到你
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
参考技术B 可以先建一个模板文件,然后每选一个班级,打开这个模板,写入数据后另存为班级名
Workbooks.Open ThisWorkbook.Path & "\模板.xls"
Set c = ActiveWorkbook
‘写入数据
c.SaveAs ThisWorkbook.Path & "\“ & bjname & ".xls"
c.Close
参考技术C 我也经常遇到这个问题,先是经常需要把数据拆分到各个部门经理,后来又经常要把数据拆分到各个县。
也考虑用VBA实现,结果能实现了,但是因为数据量太大,电脑卡得比人工还慢,最后用python解决了,一分钟不到,完成所有拆分。
参考技术D 把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...

excel中怎么把两列相同的数据排一起

我就是想把b列的和c列的数据相同的排在一起,求大神帮忙下 每天都有4,5千这样的要对,眼都快花了

1、首先打开需要处理的excel表格文件,在表格最后的空行增加一列空白的列,比如将列名命名为“是否相同”。

2、在下方第一个单元格中输入公式“=B2=C2”,按下回车。

3、软件会自动判断B2、B3两个单元格是否相同,如果显示“FLASE”代表不同,显示“TRUE”则代表相同。

4、随后选中“是否相同”这一列,从第一个数据行对应的单元格至最后一个数据行对应的单元格。

5、按下【Ctrl+D】组合键,自动填充公式,所有单元格都会对B、C两列的单元格数据是否相同进行判断。

6、然后点击表格左上角小方格全选表格,再点击上方菜单栏“数据”选项卡下的“排序”按钮,打开排序功能。

7、在弹出的排序设置界面将“主要关键字”设置为“是否相同”,“次序”设置为“降序”,点“确定”。

8、表格就会根据B、C两列单元格数据是否相同进行排序,相同的数据行被一起排在了前面。

9、最后可以将“是否相同”这列删除,或者借助“是否相同”这列进行筛选。

参考技术A

就用下面的列子演示:表格中“运单号/重量/其它“ 是一一对应的,要把相同的面单号也一一对应。2种方法

1. 直接在“排序和筛选”里选“自定义排序”:先把A2到A5按自小到大排,再选中C2到E5按C列自小到大排。然后A列C列就一样了。不确定的话,还可以用公式=A2=C2验证下。

示意图:

2. 排序方法要求A列和C列的数字只有顺序不一样,其他都一样才行。当排序方法不方便时,可以用第二种方法:VLOOKUP公式。

1)导面单号对应的运单编号:在B2输入=VLOOKUP(A2,F:H,1,0),下拉。

2)导面单号对应的重量:在C2输入=VLOOKUP(A2,F:H,2,0),下拉。

3)导面单号对应的其它,D2输入=VLOOKUP(A2,F:H,3,0),下拉。

参考技术B 回答

亲,我是您的生活达人小马,很高兴为您服务!我这就把您需要的资料发给您,大概3分钟左右!请您稍事等待,祝您生活愉快,天天开心

excel中,如何将2列相同的内容排列在一起excel把两列相同数据排一起的方法步骤1.输入数据或者打开需要处理的文档。2.点击第一行的一个单元格。3.再点击上方的数据选项。4.点击数据选项下面的合并计算按钮。

如果已经解答您的疑问,麻烦您点击评价给5颗小星星赞哦~ 如果有未解答问题可以留言或者再次咨询希望可以帮助到您祝您生活愉快!

提问

然后呢

回答

这样就行了

合并

参考技术C

1、在电脑上新建或者打开原来的EXCEL表格

2、然后我们需要进入EXCEL表格,输入核对的数据。

3、 然后我们需要在D2内输入公式:=IF(EXACT(B2,C2)=TRUE,"相同","不同")。这一点很重要

4、然后点击方框右下角的小十字叉,向下拖动,完成两列所有数据的对比。这一点很重要。

5、就可以看到结果了!方法很简单。

参考技术D C列插入一列空白列
=IF(COUNTIF(C:C,B2)>=1,B2,"")
这样B列就按照C列顺序自动排列了

以上是关于excel中怎么样按某一列的数据自动分成几张表格(要在不同的工作簿中vba)的主要内容,如果未能解决你的问题,请参考以下文章

怎样使excel表格内容按某一列排序

1分钟实现:按某列内容分类汇总,分页打印 Excel 表格

EXCEL中SQL Server Where 使用某一列的数据作为 查询条件的命令?

Excel根据某一列数据,自动分成多张表格

excel中怎么单独增加某一列

iview表格里某一列的单选怎么实现