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:将同一工作簿的数据按照类别拆分为多个工作簿相关推荐

  1. VBA学习笔记2:将工作簿的表格拆分为工作簿

    VBA学习笔记2:将工作簿的表格拆分为工作簿 1.判断原有工作簿的sheet是否需要拆分: 2.如需拆分则创建新表: 3.将原sheet复制到新建的工作簿中. 效果如下: 代码执行前,有1个工作簿,需 ...

  2. VBA学习笔记3:合并同一工作簿下的多个表格

    VBA学习笔记3:合并同一工作簿下的多个表格 1.建立一个新的汇总表: 2.将其他sheet数据复制到汇总表中. 效果如下: 需要将3个sheet的表的数据汇总起来 汇总后的数据: 代码如下: Sub ...

  3. VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接

    VBA学习笔记1:将同个文件夹中的工作簿汇总为一个工作簿,并建立目录超链接 1.将文件夹中的xlsx文件名复制到新工作簿: 2.将文件夹中的xlsx数据簿中的sheet复制到新表并重命名: 3.插入超 ...

  4. 陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮

    陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮:新建一个我的菜单按钮 设置对应的宏过程名称为 [我的菜单宏] 点击按钮弹窗信息,信息可自定义设置 详细代码如下: Sub 新建右键菜单()Dim 菜单 ...

  5. Excel VBA 学习笔记13:单元格的格式

    Excel VBA 学习笔记13:单元格的格式 NumberFormat 属性 (Excel) vba excel 单元格格式设置 Excel VBA 单元格格式 python解决SNIMissing ...

  6. VBA学习笔记(9)--生成点拨(1)

    VBA学习笔记(9)--生成点拨(1) 说明(2017.3.26): 1. 还没写完,写到新建文件夹了,下一步新建word,重命名,查找点拨,把点拨复制进去,因为要给点拨编号,应该会很麻烦 1 Pub ...

  7. VBA学习笔记8:单元格的合并与拆分

    VBA学习笔记8:单元格的合并与拆分 如下图,需要实现1图到2图(单元格合并),或2图到1图(单元格拆分). 1图: 2图: 合并单元格代码如下: Sub 合并单元格()Dim k%, rng As ...

  8. VBA 学习笔记 - 网络请求

    VBA 学习笔记 - 网络请求 Microsoft.XMLHTTP MSXML2.serverXMLHTTP.6.0 WinHttp.WinHttpRequest.5.1 参考资料 Microsoft ...

  9. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

最新文章

  1. android监听输入框光标,EditText光标的移动
  2. 夏日php登录系统源码,夏日PHP企业管理系统 v0.1
  3. linux终端里CTRL-Z和CTRL-C的区别
  4. 【Python应用】Python+Kepler.gl轻松制作酷炫路径动画
  5. 红帽linux系统轴控系统,红帽发布企业版 Linux(RHEL) 8.0
  6. np.array的shape的区别
  7. 【读书笔记】A Swift Tour
  8. 目前最全的R语言-图片的组合与拼接
  9. 矿池如何给矿机下发任务
  10. 2021~ 你好,加油 (ง •_•)ง
  11. 西藏民族大学计算机学院,西藏民族大学信息工程学院
  12. 425 Failed to establish connection解决方案
  13. 使用Android Studio开发widget安卓桌面插件
  14. if scl.shape = avg.shape: AttributeError: ‘float‘ object has no attribute ‘shape‘
  15. 如何轻松应对述职专题三之演讲
  16. Flutter Card使用
  17. 转载~时间复杂度分析(个人强推)
  18. 外媒评中国最具创新力公司
  19. Pyecharts 生成Echarts图标的类库
  20. 漏洞扫描工具AWVS的介绍与使用

热门文章

  1. 契约锁助力青岛市市立医院:报销、核酸检测及经济类合同电子签
  2. selenium实现后台24小时平均温、全国降水量自动上传工作
  3. OS Review3 并发进程
  4. 什么是SVN(Subversion)?为什么要用SVN?
  5. jvc ip camera vnc10u 设置
  6. 深入浅出以太坊MEV
  7. Infortrend推出DaVinci Resolve媒资数据库集成
  8. yii2restful规范的api使用
  9. 计算机视觉技术在图像特征提取中的应用研究,基于图像特征提取的图像融合研究...
  10. Oracle字符串截取和大小写转换