我是Visual Basic的新手 . 我可以使用Excel 2010或Excel 2013执行此任务 .
我有几十个工作簿,每个工作表上都有数据 . 例如,One.xlsx,Two.xlsx,Three.xlsx,Four.xlsx各自包含有关其各自Sheet1的信息 .
我需要将每个工作簿中的Sheet1上的信息组合到一个工作簿中,该工作簿具有从原始工作簿的文件名命名的工作表 . 因此,例如combined.xlsx将有4张名为One,Two,Three,Four的表 . 在每种情况下,应在新工作簿中复制和组合基础工作表的所有信息,如下所示 .
- 我需要的格式
我发现这个宏/插件在线,让我接近我需要使用打开文件添加选择 .
http://www.excelbee.com/merge-excel-sheets-2010-2007-2013#close
Open Files Add-In成功允许我将各种Workbook的工作表聚合到一个工作簿中 . 但是,选项卡不是从原始文件的名称中命名的 .
- 正确汇总工作表,但工作表名称不正确 .
现在,所有底层工作簿都将位于同一文件夹中 . 如果这种情况发生变化,浏览和选择文件的能力会很好,但如果这太难了,只需在Visual Basic代码中指明目录路径即可 . 由此产生的组合输出可能应该是一个新的工作簿,新工作簿的文件名并不重要 . 例如,它可以被称为combined.xlsx .
2 回答
以下完成任务 .
在Excel中按
Alt+F11
,这将打开Excel VBA编辑器 .文章http://www.excel-spreadsheet.com/vba/debugging.htm解释了一些如何使用它的基础知识 .
在
Module1
中有2个短子程序opensheets
和merge
,包含~50行代码 .在你不理解的单词中使用带有光标的
F1
来了解它的含义 .一旦了解了代码的作用,就可以根据自己的需要进行定制 .