[已解决]代码实现保持原始文档内容不变,将修改的内容另存并重命名.
黄力斯挺(要把看过的电影都记录上,简直M:i)
问题: 一个有两个SHEET的文件, 分别叫"数据总表"和"打印表格", 其中"打印表格"是需要套打的一个表格, 一次只能显示"数据总表"中一行的数据, 而"数据总表"是个数据库,里面有N多行的数据. 现在操作是每次打开此文件, 先在"打印表格"中进行修改和引用"数据总表"中的内容,然后打印一次, 再另存为以当前数据命名的文件. 然后再次打开原始文件, 再重复以上操作一次. 也就是"数据总表"中N多行的数据我需要逐行在"打印表格"中体现并打印然后再保存一个文档. 通过研究, 我自己用代码实现了在"打印表格"中批量循环打印"数据总表"中的N行数据. 但是实现不了批量另存这个难题. 求一段代码来解决这个tedious的work. 谢谢! ============================ 花了好几天时间, 找了不少资料,谁叫咱是小白呢. 不过好在今天自行摸索研究出了解决方法. 代码是到处拼凑而成的. 关键是it works. 感觉编程关键就是个思路, 条条大路通罗马, 首先第一步就是要想哪条路能通到罗马, 接下来就是找路的过程, 找到几条路都能通之后, 就到了下一步的思考: 哪条路是最短最好走的路? 找到这条捷径之后就算是大功告成了. 参考了网上别人类似的问题. 代码首先做个FOR循环, 把要提取总表中的数据范围的起止值定义出来. 接着用ActiveWorkbook.SaveCopyAs方法把当前文档另存一份备份用于当过渡操作用. 然后Workbooks.Open 方法打开该副本 接下去的修改文档(比如把"打印表格"页所有单元格变成值,再把"数据总表"页删除,及打印另存等都是这个副本上进行操作. 关键最后用上ActiveWorkbook.Close方法把该副本保存更改并另存为以某一单元格的值命名的文档. 然后NEXT回到原始文档进行FOR循环到下一个值,直到循环到终止值为止结束 至此完成了打印表格SHEET的批量打印及批量另存. 在这个执行过程中, 会产生N个(依据设定的范围值数)包含不同"数据总表"内容的副本,但实际副本永远保持一个, 因为每次在另存为其它文件之后, 这个副本都会被下一个新副本覆盖. 终了, VBA真是强大. 重复枯燥的工作在它面前真是只消一强撸,瞬间灰飞烟灭.
你的回复
回复请先 登录 , 或 注册相关内容推荐
最新讨论 ( 更多 )
- 求帮看excel图中的堆积柱状图 (云)
- 怎么查找并替换 (又熬夜)
- 求助~打卡标记怎么和月份联动 (Ru.yue)
- 什么?deepseek可以生成几十页的word报告了? (好家伙)
- power pivot学习小组 (小徐徐)