VBA学习笔记5:将同一工作簿的数据按照类别拆分为多个工作簿
VBA学习笔记5:将同一工作簿的数据按照类别拆分为多个工作簿
1、对每行数据按照类别所在列进行循环,判断某类别的工作簿是否存在;
2、如果不存在,则新建工作簿并将该行数据复制粘贴;
3、如果存在则打开工作簿并将该行数据复制粘贴。
效果如下:
需要按照班级将工作表拆分为多个工作簿,拆分前如下:
拆分后效果如下:
代码如下:
Sub 将数据拆分多个工作簿()
Dim sht1 As Worksheet '用来存储待拆分的工作表(总表)
Dim sht0 As Worksheet '用来存储新建工作簿的工作表
Dim file$
Dim k%, m%, n%, v%
Set sht1 = Worksheets(1)
k = WorksheetFunction.CountA(sht1.[a:a]) '待拆分表的已用行数For m = 2 To k Step 1: '逐行循环file = Dir(ThisWorkbook.Path & "\*.xlsx") '准备遍历文件夹文件Do While file <> ""If Replace(file, ".xlsx", "") = Cells(m, 1).Value Then '如果xlsx名称与表内的值相同v = v + 1 '计算以某个cell值命名的表在当前文件夹的数量End Iffile = DirLoopIf v = 0 ThenWorkbooks.Add.SaveAs ThisWorkbook.Path & "\" & Cells(m, 1).Value & ".xlsx" '如果当前无相关xlsx文件,则新建一个Set sht0 = ActiveSheet '新建后的表用sht0sht1.Range("a1:e1").Copy sht0.Range("a1:e1") '复制第一行Else:Workbooks.Open ThisWorkbook.Path & "\" & Cells(m, 1).Value & ".xlsx" '如果已有相关的xlsx文件,则打开Set sht0 = ActiveSheetEnd Ifn = WorksheetFunction.CountA(sht0.[a:a]) 'xlsx已使用的行数sht1.Range(Cells(m, 1), Cells(m, 1)(1, 5)).Copy sht0.Cells(n + 1, 1) '将原表的行粘贴到新的表ActiveWorkbook.Close 1 '保存并关闭新表v = 0 '将文件数量设置为0,用于下次循环Next m
End Sub
语法注意:
1、workbooks.add.saveas 文件名
2、file=dir(路径.*\xlsx)
do while file<>""
操作
loop
VBA学习笔记5:将同一工作簿的数据按照类别拆分为多个工作簿相关推荐
- VBA学习笔记2:将工作簿的表格拆分为工作簿
VBA学习笔记2:将工作簿的表格拆分为工作簿 1.判断原有工作簿的sheet是否需要拆分: 2.如需拆分则创建新表: 3.将原sheet复制到新建的工作簿中. 效果如下: 代码执行前,有1个工作簿,需 ...
- VBA学习笔记3:合并同一工作簿下的多个表格
VBA学习笔记3:合并同一工作簿下的多个表格 1.建立一个新的汇总表: 2.将其他sheet数据复制到汇总表中. 效果如下: 需要将3个sheet的表的数据汇总起来 汇总后的数据: 代码如下: Sub ...
- VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接
VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接 1.将文件夹中的xlsx文件名复制到新工作簿: 2.将文件夹中的xlsx数据簿中的sheet复制到新表并重命名: 3.插入超 ...
- 陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮
陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮:新建一个我的菜单按钮 设置对应的宏过程名称为 [我的菜单宏] 点击按钮弹窗信息,信息可自定义设置 详细代码如下: Sub 新建右键菜单()Dim 菜单 ...
- Excel VBA 学习笔记13:单元格的格式
Excel VBA 学习笔记13:单元格的格式 NumberFormat 属性 (Excel) vba excel 单元格格式设置 Excel VBA 单元格格式 python解决SNIMissing ...
- VBA学习笔记(9)--生成点拨(1)
VBA学习笔记(9)--生成点拨(1) 说明(2017.3.26): 1. 还没写完,写到新建文件夹了,下一步新建word,重命名,查找点拨,把点拨复制进去,因为要给点拨编号,应该会很麻烦 1 Pub ...
- VBA学习笔记8:单元格的合并与拆分
VBA学习笔记8:单元格的合并与拆分 如下图,需要实现1图到2图(单元格合并),或2图到1图(单元格拆分). 1图: 2图: 合并单元格代码如下: Sub 合并单元格()Dim k%, rng As ...
- VBA 学习笔记 - 网络请求
VBA 学习笔记 - 网络请求 Microsoft.XMLHTTP MSXML2.serverXMLHTTP.6.0 WinHttp.WinHttpRequest.5.1 参考资料 Microsoft ...
- OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co
OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...
最新文章
- android监听输入框光标,EditText光标的移动
- 夏日php登录系统源码,夏日PHP企业管理系统 v0.1
- linux终端里CTRL-Z和CTRL-C的区别
- 【Python应用】Python+Kepler.gl轻松制作酷炫路径动画
- 红帽linux系统轴控系统,红帽发布企业版 Linux(RHEL) 8.0
- np.array的shape的区别
- 【读书笔记】A Swift Tour
- 目前最全的R语言-图片的组合与拼接
- 矿池如何给矿机下发任务
- 2021~ 你好,加油 (ง •_•)ง
- 西藏民族大学计算机学院,西藏民族大学信息工程学院
- 425 Failed to establish connection解决方案
- 使用Android Studio开发widget安卓桌面插件
- if scl.shape = avg.shape: AttributeError: ‘float‘ object has no attribute ‘shape‘
- 如何轻松应对述职专题三之演讲
- Flutter Card使用
- 转载~时间复杂度分析(个人强推)
- 外媒评中国最具创新力公司
- Pyecharts 生成Echarts图标的类库
- 漏洞扫描工具AWVS的介绍与使用