方法一:使用Excel自带的合并工具
1. 打开一个新的Excel文档,点击“数据”选项卡,在“来自其他来源”一栏中选择“从文本/CSV”选项;
2. 选择要合并的第一个Excel表格,点击“打开”;
3. 在“文本导入向导”中,选择“分隔符”选项,并勾选“制表符”和“逗号”;
4. 点击“下一步”,在“列数据格式”中选择“文本”;
5. 点击“完成”,将数据导入到新的Excel文档中;
6. 重复以上步骤,将其他Excel表格的数据分别导入到新的Excel文档中;
7. 最后,将所有数据复制到同一个工作表中即可。
方法二:使用VBA宏
1. 打开一个新的Excel文档;
2. 点击“开发工具”选项卡,选择“Visual Basic”;
3. 在Visual Basic编辑器中,点击“插入”选项卡,选择“模块”;
4. 将以下代码复制到模块中:
Sub MergeAllWorkbooks()
Dim SummarySheet As Worksheet
Dim FolderPath As String
Dim NRow As Long
Dim FileName As String
Dim WorkBk As Workbook
Dim SourceRange As Range
Dim DestRange As Range
Application.ScreenUpdating = False
Set SummarySheet = ThisWorkbook.Worksheets.Add
FolderPath = InputBox("请输入要合并的文件夹路径:")
If Right(FolderPath, 1) <>"\" Then FolderPath = FolderPath + "\"
FileName = Dir(FolderPath &"*.xls*")
Do While FileName <>""
Set WorkBk = Workbooks.Open(FolderPath &FileName)
Set SourceRange = WorkBk.Worksheets(1).UsedRange
If NRow = 0 Then
Set DestRange = SummarySheet.Range("A1")
SourceRange.Copy DestRange
Else
Set DestRange = SummarySheet.Range("A" &NRow + 1)
SourceRange.Copy DestRange
End If
NRow = SummarySheet.UsedRange.Rows.Count
WorkBk.Close False
FileName = Dir()
Loop
SummarySheet.Columns.AutoFit
Application.ScreenUpdating = True
End Sub
5. 点击“运行”按钮,输入要合并的Excel表格所在的文件夹路径;
6. 程序将自动遍历该文件夹下的所有Excel表格,将它们的数据合并到新的Excel文档中;
7. 最后,保存新的Excel文档即可。
以上两种方法都能够将多个Excel表格的内容合并到一个表格里面,使用VBA宏的方法相对来说更加自动化和快捷,但需要一定的编程知识。
首先需要将要合成的excel文件复制到一个文件夹,然后切换到数据菜单并点击新建查询,接着选择从文件下的从文件夹,输入刚刚的文件夹路径,点击确定,再点击合并下的合并和加载选项,选择要合并的工作表名称,最后点击确定即可。如果表不算太多的话可以试试这种方法,打开总表(要粘贴的表),打开一个要复制的表,右击要复制的工作表标签,选择移动或复制工作表,建立副本,选择要移动到表(要粘贴的那总表)。这种方法对合并到同一个文件中还是可行的。但你说的汇总到一张表里就不行了,可以试试用“=”建立链接(要用相对地址),但这种方法对表结构相同或类似的才可以,而且文件名和表名称要有规律。这样会很快汇总到一张表中,下面的活儿就是整理一下的工作了,要是要数据的话就把链接改成数据才可以,这种方法好在可以动态更新你的数据。
写代码也可以,但若是工作量很大的话可考虑!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)