这个问题是来自MM的。MM财务工作和Excel比较多。最近MM公司要统计各分公司的数据。由于城市比较多,需要汇总的工作量比较大。而且有很大一部分数据基础工作是Copy,Paste 数据。为表达对MM的关心和爱护(嘻嘻),写了这么一段VBA,可以大大减轻MM的工作量。
我用一个简单的原型来说明这个问题。
Excel文件:上海.xsl、北京.xsl、广州.xsl。这些数据由各地分公司提供,以3个城市说明问题。
MM的工作(这里忽略格式调整等):
1:将上面3个xsl文件拷贝到一个全国.xsl中。也就是要有 上海.sheet、北京sheet、广州sheet 3个sheet
2:同时又要将3个sheet的数据汇总到一个全国sheet中。
3:最终结果就是一个全国.xsl文件包含4个sheet(全国、上海、北京、广州)
最早想的办法是将Excel文件导入Access数据库,我再将数据导出。毕竟搞IT的,SQL语法对我来说没问题。但在导入Access中发现Excel文件有合并单元格问题,而且几个Excel列数不一样。发现导入Access对Excel文件本身要求高,方案失败。
没办法就只能使用宏来模拟用户的操作。已经很久没写VBA了,特意查了一下最早的一个是2006-12-28的Excel文件。(*^__^*),都是一年以前的事情了。本身就是现学现用,又这么长时间,基本忘过。好在这东西不复杂,看看原来的资料,再网上搜索了一下。一个晚上搞定了。
关键代码如下(伪代码,):
--调用选取文件对话框,选择多个xls文件
Filenames = Application.GetOpenFilename("Microsoft Office Excel Files (*.xls), *.xls", , "请选取文件", , True)
--循环FileNames,Copy当前文件内容,粘贴到新增的Sheet中(完成多个XLS 合并到一个xsl中),再将数据合并到全国sheet中
Workbooks(FileNames(i)).Worksheets(1).UsedRange.Copy
Worksheets.Add after:=Worksheets(1)
ActiveSheet.Paste
Workbooks(“总表名”).Worksheets(thisheetname).[A65536].End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
原代码我就不提供了,这里提供方案下载,如果你有类似的操作,可以使用这个Excel。
合并DEMO方案:Excel_VAB1
分享到:
相关推荐
对于需要合并多个Excel文件的情况,VBA提供了灵活而强大的解决方案。 #### 知识点二:代码实现多文件合并 在提供的部分内容中,有几个VBA宏被展示出来,用于合并Excel文件。首先,有一个宏用于复制单个工作表到另...
总结来说,WPS Excel的JS宏写的文件合并工具是提高办公效率的有效解决方案,它简化了多表格合并的过程,降低了错误率。对于经常处理大量Excel数据的用户,这样的工具无疑是一大福音。同时,对于开发者而言,它展示了...
在本场景中,我们关注的是如何利用VBA来实现多个格式相同的Excel文件的合并。这是一项常见的需求,特别是在数据分析、报告汇总或数据整理时,能够批量处理大量类似的Excel文件,可以显著提高工作效率。 首先,我们...
例如,`Workbooks("FileName.xlsx")`将引用名为"FileName.xlsx"的Excel文件。 2. **遍历工作表**:然后,程序会遍历工作簿中的每一个Sheet,可能通过`Worksheets`集合进行操作。`For Each Sheet In Workbooks(...
在Excel VBA编程中,"合并相同项目...学习和理解这些文件内容,可以帮助你掌握在Excel VBA环境中处理和合并相同数据的技巧,从而提升数据处理能力。同时,也可以借鉴和参考其中的代码片段,为自己的VBA项目提供灵感。
例如,`Range`对象用于选择和操作单元格,`For Each`循环用于遍历数据,`Worksheet`对象用于操作工作表,`Workbook`对象用于操作整个Excel文件,而`Application`对象则提供了与其他Office应用程序(如MSWord)交互的...
《Excel + VBA实例800(全)》是一份全面深入探讨Excel与VBA结合使用的实践教程。这个压缩包包含了大量的示例,旨在帮助用户掌握如何通过VBA(Visual Basic for Applications)来扩展和自动化Excel的功能,提高工作...
本篇将详细讲解如何将多个用Tab键分隔的TXT文件合并到一个Excel工作表中。 首先,我们要明白TXT文件是一种纯文本格式,它不包含任何格式信息,只存储文字和由特定字符(如Tab或逗号)分隔的数据。在本例中,每个TXT...
样例文件”以及描述中的信息都指向一个主题,即如何巧妙地学习和应用Excel 2003中的VBA(Visual Basic for Applications)和宏。VBA是Microsoft Office套件中的一种内置编程语言,它允许用户自定义功能、自动化任务...
标题 "同一文件夹下面多个Excel批量转换成PDF" 描述了一种使用VBA(Visual Basic for Applications)在Excel中实现批量将Excel文件转换为PDF格式的解决方案。VBA是Microsoft Office套件中内置的一种编程语言,允许...
这个CHM文件集将提供详细的函数参考、示例代码和问题解决方案,是学习和提升Excel、Word、Access VBA编程技能的宝贵资源。无论你是初学者还是经验丰富的开发者,都能从中找到所需的信息。通过深入学习和实践,你将...
如果你不想使用上述步骤,可以使用以下VBA代码来合并多个Excel文件: ```vba Sub CombineWorkbooks() Dim FilesToOpen, ft Dim x As Integer Application.ScreenUpdating = False On Error GoTo errhandler ...
1. Excel文件合并的基本概念: 在Excel中,合并文件通常指的是将多个独立的Excel工作簿(.xlsx或.xls文件)或工作表(每个Excel文件内的单个表格)整合到一个新的单一工作簿中。这样可以减少文件数量,便于数据对比...
总之,"批量合成PDF并重命名.zip"的压缩包提供了基于VBA的自动化解决方案,能够帮助用户高效地处理大量PDF文件的合成和重命名任务。这涉及到文件处理、数据读取、脚本编程等多个IT领域的知识点,是提高办公效率的...
其次,列合并则是在保持原有行结构不变的情况下,将多个Excel文件的某一列数据横向拼接在一起。这在比较不同时间段的数据变化,或者收集来自多个来源的同类数据时非常实用。例如,你可以将每个月的销售报表横向合并...
这样,用户只需点击一次,就能自动完成整个文件夹内的Excel文件合并。 总的来说,这个压缩包提供了一个实用的VBA解决方案,帮助用户高效地处理大量Excel数据。通过学习和理解这段代码,你可以定制自己的文件合并...
通过本文介绍的方法,我们可以轻松地在Excel中利用VBA实现PDF文件的自动化生成。这不仅能极大提升工作效率,还能确保输出结果的一致性和准确性。随着实践经验的积累和技术的不断进步,相信未来还会有更多创新性的...
在VBA中处理Excel文件,我们可以编写宏代码来执行一系列操作,例如遍历工作表、筛选数据、合并单元格等。但VBA的缺点在于其功能有限,特别是在处理大量数据或复杂逻辑时。这时,结合NPOI库,我们可以实现更高效、更...
这是VBA脚本运行的基础,因为脚本会遍历这个文件夹内的所有Excel文件。接下来,我们分步骤解析这个过程: 1. **多工作表数据汇总**:如果你有多个工作簿,每个工作簿内部都有同名的工作表,你可以编写VBA代码逐个...
1. VBAWD10.CHM:这是Word VBA的帮助文件,提供了Word对象模型的详细信息,包括文档、段落、表格、图形、邮件合并等各种对象的属性、方法和事件。通过此文件,学习者可以掌握如何使用VBA自动化Word任务,例如创建、...