不同于《python实现Excel邮件合并》,字符串内容替换生成文件,仅复制整行数据插入模板中生成工作表,单独保存为工作簿,但如果存在同名工作簿文件,则将工作表附加在该工作簿中

Sub 模板生成工作薄()Application.Visible = False  '后台运行,不显示界面Application.DisplayAlerts = False  '不显示警告信息Dim arr, i, k, v, dict As Object, d As Object, fso As ObjectSet dict = CreateObject("scripting.dictionary")Set d = CreateObject("scripting.dictionary")Set fso = CreateObject("Scripting.FileSystemObject")  '文件访问对象arr = [a1].CurrentRegionFor i = 2 To UBound(arr)Set temp = Range(Cells(i, 1), Cells(i, UBound(arr, 2)))  '数据区域rangeIf Not dict.Exists(arr(i, 2)) Then  '新键-值Set dict(arr(i, 2)) = tempElse  '已有键-值,更新Set dict(arr(i, 2)) = Union(dict(arr(i, 2)), temp)  'Union,range对象End Ifd(arr(i, 2)) = d(arr(i, 2)) + 1  '行数Nextk = dict.keysv = dict.ItemsSet mb = Sheets("模板")save_path = ThisWorkbook.Path  '文件保存路径For i = 0 To dict.Count - 1:   '遍历字典,创建、写入wbmb.Copy After:=Sheets(Sheets.Count)  '复制模板工作表Set ws = Application.ActiveSheetws.Name = "9月"ws.Rows(4).Resize(d(k(i))).Insertv(i).Copy ws.Range("a4")Range("x" & d(k(i)) + 4) = "=sum(x4:x" & d(k(i)) + 3 & ")"Range("z" & d(k(i)) + 4) = "=sum(z4:z" & d(k(i)) + 3 & ")"Range("aa" & d(k(i)) + 4) = "=sum(aa4:aa" & d(k(i)) + 3 & ")"save_file = save_path + "\" + k(i) + ".xlsx"  '保存文件路径全名If fso.FileExists(save_file) Then  '文件是否存在Set wb = Application.Workbooks.Open(save_file)  '打开文件ws.Copy After:=Sheets(wb.Sheets.Count)Elsews.CopySet wb = ActiveWorkbook  '创建新工作簿End Ifws.Deletewb.SaveAs Filename:=save_filewb.Close (False)NextApplication.Visible = TrueApplication.DisplayAlerts = TrueEnd Sub

附件
《Excel·VBA模板生成文件(附件)》

Excel·VBA模板生成文件相关推荐

  1. NCC 后台获取模板生成文件

    参考下面 Ncc 怎么获取wps设置的模板生成文件 RtfDownloadFactory 这个类里 找到下面那一串方法downLoad bytes=createContFile(pk_conmodel ...

  2. 如何用excel表格批量生成文件夹,并命名?

    如何用excel表格批量生成文件夹,并命名?假设一个excel表格里面整理了500个名称,现在需要利用这些名称生成对应名称的文件夹,你会如何处理呢?我想很多人会挨个复制名称然后再新建文件名,再对文件夹 ...

  3. excel怎么批量生成文件夹?

    excel怎么批量生成文件夹?如果你的领导交给你一个工作任务,让你根据准备好的大量名称新建对应的文件夹,你会如何操作呢?如果你是一个职场新手,肯定会挨个复制名称然后新建文件夹吧,这个方法比较简单,人人 ...

  4. java web根据excel word模板生成前台页面,自动求和

    </pre>项目要求根据excel制作前台,并得出结果,开始的时候想用table套嵌input接收数据,后台运算,或者jqurey计算,数了一下excel表,如果那样的话80多个字段,而且 ...

  5. Excel·VBA自动生成日记账的对方科目

    如图:根据日记账/序时账的日期.凭证号为一组,按借贷方向生成相反的科目,并写入H列.可能存在一对一.一对多.多对多等情况的账目 目录 数组法遍历.判断.写入 测试结果 多对多问题处理 测试结果 数组法 ...

  6. Java读取模板文件您好,RtfTemplate 读取word模板生成文件

    try { response.reset(); response.setContentType("txt/rtf; charset=GBK"); String fileName = ...

  7. Excel VBA: 自动生成巡检报表并通过邮件定时发送

    目录 环境说明 逻辑结构 效果说明及截图 ①. 安装SecureCRT ②. 自动巡检脚本 ③. 数据检索并FTP传送 ④. 安装Excel 2013 ⑤. 安装Serv-U ⑥. 自动生成图表并邮件 ...

  8. Excel VBA 批量转换文件夹下的xlsx文件为pdf(多文件多sheet)

    可以在excel工作表中通过宏将一个文件夹中的所有xlsx或类似的表格文件批量转换为pdf文件,遍历每个工作表的每个sheet并逐一转换. Sub TO_PDF()On Error Resume Ne ...

  9. springBoot+poi+aspose实现根据word模板生成文件并转换pdf

    Maven依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</art ...

最新文章

  1. XCMS V1.0 Beta1 发布
  2. TypeScript基础入门 - 泛型 - 泛型类型
  3. MyBatisPlus介绍入门以及项目集成MyBatisPlus
  4. NAND FLASH/NOR FLASH/EMMC等存储器的比较和区别
  5. linux编程两个子进程,Linux中fork同时创建多个子进程的方法
  6. js矢量图类库:Raphaël—JavaScript Library
  7. okhttp3 请求html页面,OkHttp3源码详解(二) 整体流程
  8. pta段错误是什么意思_用Python执行Django数据迁移时报!(1091错误及解决方法)...
  9. python读取数据库数据类型_Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】...
  10. 第二十五章:重新吃上饭的李恪
  11. python制作一个桌面小工具
  12. MCS-51子程序库-1
  13. 图书管理系统(前台(vue))
  14. java opennlp_如何在Java中使用OpenNLP?
  15. 计算机连接路由器的方法,路由器连接电脑的三种方式和设置介绍
  16. I-D-E-A中maven的常用指令
  17. 【宝藏分享】自从用了这款PPT插件,小伙伴们都跪着看我
  18. 华为手机设置信息服务器地址,华为手机如何设置云服务器地址
  19. Latex基础命令入门
  20. WebSphere Message Broker(2)--WMB V8下载、安装

热门文章

  1. android device id格式,Android之设备ID(Device ID)
  2. matlab bnb20,关于bnb20()函数不好使的解决方案
  3. 06-ET框架的前后端通信2
  4. 我的第一个Java项目——客户管理
  5. 一位***硬核的裸机编程思想
  6. 【硬核】“需求”衍生了社会?
  7. 猜数字游戏:刚学了随机数种子,做个小游戏。
  8. linux下阻塞的系统调用,Linux下socket设置为非阻塞方式和fcntl系统调用.pdf
  9. 性能优化模式-美团技术博客
  10. 《高效休息法》书中的精髓:在繁重的工作及生活压力下,我们如何有效地休息,塑造不易疲劳的大脑?