一、概述

最近刚好有需求,就研究了下VBA编程,使用excel的宏命令编写了一个数据汇总小工具,汇总指定目录下的所有excel文件seet1的数据至一个新的excel表中,设计思想如下:
1、将要汇总的excel文件放置在一个“数据文件夹”中;
2、遍历该“数据文件夹”中的所有excel表sheet1的数据;
3、复制数据到一个新建工作簿中;
4、保存工作簿并更名为“已完成”;
5、最终就会看到新生成了一个“已完成.xlsx”。

二、代码

新建一个“模板”,再新建一个“过程”,编写VBA程序,代码如下:

'汇总指定文件夹下的所以excel表sheet1数据至新工作簿中
Sub Merge()
Dim curdir, fs, f, fc, f1, fname, wb, sht'获取当前文件目录
curdir = ThisWorkbook.Path
'获取要处理的数据表目录
sdir = curdir & "\数据文件夹"
'Debug.Print curdir
'赋予文件系统访问对象
Set fs = CreateObject("Scripting.FileSystemObject")
'获取对文件夹所有属性的访问
Set f = fs.GetFolder(sdir)
'获取文件夹中所有 File 对象的集合
Set fc = f.Files
Dim rows, cols, tbook, tsh, row1
'新建一个工作簿用于存放汇总数据
Set tbook = Workbooks.Add()
'新工作簿的sheet1
Set tsh = tbook.Worksheets(1)
'对新工作簿操作的行计数器
row1 = 0
'遍历要处理文件夹中的所有文件
For Each f1 In fcfname = f1.Name'打印正在处理的文件名Debug.Print "正在处理文件:" + fname'打开文件Set wb = Workbooks.Open(f1)Set sht = wb.Worksheets(1)'获取处理文件的行数rows = sht.UsedRange.rows.Count'获取处理文件的列数cols = sht.UsedRange.Columns.Count'对处理文件按行遍历For rw = 1 To rows'行计数器加1row1 = row1 + 1'对处理文件按列遍历For col = 1 To cols'将数据复制到新工作簿单元格tsh.Cells(row1, col) = Cells(rw, col).ValueNextNextwb.Close '关闭已处理完成文件Next
tbook.SaveAs (curdir & "\已完成") '保存新工作簿并更名
tbook.Close  '关闭新工作簿
End Sub

三、运行结果

1、要处理的文件目录

2、处理完成后,新增了一个“已完成.xlsx”。

3、“已完成.xlsx”文件内容

Excel VBA编写excel数据汇总宏命令相关推荐

  1. vba ado返回集合_利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总

    大家好,今天继续讲解<VBA数据库解决方案>,今日讲解的是第37讲,利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总.最近的内容实用性比较强,如今日的内容,只把需要汇总的EXCE ...

  2. Excel VBA简单使用——数据缺失处理

    VBA(Visual Basic for Applications)是VB的一种宏语言.用来扩展应用程式的功能.特别是Microsoft Office软件. 转载请注明原文地址:http://blog ...

  3. Excel VBA:更改图表数据标记大小和曲线粗细

    在Excel中插入图表后,有时曲线较多,数据标记又太大,而且线条较粗,多条曲线挤压在一起,显得很丑.为了便于观察,可以通过右键更改曲线的粗细和设置数据标记的大小,但线条较多时又是一件很麻烦的事.这里通 ...

  4. 利用Excel VBA实现批量数据分组转置

    问题:如上图所示,按lon,lat分组,再进行转置. VBA代码: Sub admin()Dim conn, xRs, xFdSet conn = CreateObject("ADODB.C ...

  5. Excel vba从excel中导出表格数据和图表到新word文档

    office应用程序是可以相互访问的,比如可以把excel的数据导出到word中 step1: 首先要引用word工程对象,在excelvba中依次点击 工具-->引用-->microso ...

  6. java exce对象清空,Excel VBA:清除数据透视表中的项目

    我是VBA的新手...我正在尝试编写一个宏,它将清除名为"Product Family"的数据透视表过滤器中的所有选项,并仅选择名称包含在单元格"B33"中的项 ...

  7. Excel VBA 学习总结 - 数据验证与正则表达式

    数据结构有云:程序=数据+操作.从中可以看出,数据才是程序的核心对象,每个程序所有的操作和意图都是围绕数据展开的.每个程序的结构基本都分为三个部分:输入,处理,输出.输入是接收用户的数据,处理过程是通 ...

  8. 用EXCEL VBA编写一个文档管理程序

    公司把文件保存在NAS上,但访问比较慢,我就想着自己做一个本地的文档管理程序 电脑上能用的工具只有EXCEL和CMD

  9. Excel VBA解析JSON数据

    JSON本质上是按照JavaScript对象.数组书写的一堆字符串,很可惜VBA直到目前为止都没有相应解析的方法.对于简单的数据可以用split方法.或者使用正则表达式来提取,如果过于复杂就需要用Ja ...

最新文章

  1. 2018年看好这些半导体企业
  2. 帕雷托最优(Pareto optimality)、帕雷托效率(Pareto efficiency)
  3. 微信公众号接口添加菜单时错误(errcode:40017 invalid button type)
  4. python ftp 上传文档出现 553 Could not create file
  5. TV Distortion Bundle mac - AE画面像素破损信号干扰失真插件
  6. linux gdb模式下无反应,Linux,GDB 嵌入式Linux的GDB远程调试的问题--断点没反应
  7. poj 2417 Discrete Logging
  8. 在使用DelphiXE3和SQLite3进行程序开发时,解决最后一个字符乱码的问题
  9. 红旗Linux9不让登录wechat,关于网页版微信无法登陆以及wechat全平台使用的问题
  10. AS-REP Roasting攻击
  11. Ardupilot笔记:Rover auto模式下的执行流程
  12. 【干货】PS超实用功能:美化照片
  13. 思科tar格式IOS升级方法
  14. 全院级pacs系统中前置服务器,PACS系统性能优化的实施与体会——蒋昆 李哲 赵海涛...
  15. C语言Qt视图实现彩虹渐变效果,我就问你6不6?
  16. Cesium 1.87+实现建筑泛光效果
  17. 西门子s7-300/400PLC-MMC密码解密
  18. angular2后台管理系统
  19. 数据结构实验——实验二链表实验
  20. Linux 密码破解之 John the Ripper

热门文章

  1. Android mp4parser 视频拼接
  2. Golang 见证 godoc 的强大(生成API文档,打印文档)
  3. 软考A计划-真题-分类精讲汇总-第十五章(数据库设计)
  4. 使用 Vue + LayUI 做后台管理、RESTful 交互
  5. IDEA插件系列(64):Document Assistant插件——SpringMVC文档助手
  6. iOS完整项目及技巧汇总
  7. JavaScript,
  8. 超级记忆法(3)——第一小时
  9. 浙大版《C语言程序设计》第四版(何钦铭颜晖) 第8章 指针 课后习题答案
  10. ethos专用系统 登录 教程