excel合并同一目录下代码(多文件合并到同一个文件多Sheet下、多文件合并到同一个Sheet下)

一、多文件合并到同一个文件多Sheet下:
1、在想要合并的excel文件目录中新建一个excel文件。
2、右键新建excel中的sheet1选择“查看代码”,或者Alt+F11直接调出VBA操作界面。
3、运行以下代码(蓝色加粗倾斜字体为代码)。

注意:
1、excel文件类型是xls和xlsx,需要对应修改代码里的后缀
2、合并前最好关闭其他excel文件,否则可能出现合并数据插入到其他excel的情况。
3、该代码不支持被合并的excel多sheet情况,只会把第一个sheet合并到结果excel

代码如下:

 '功能:把多个excel工作簿的第一个sheet工作表合并到一个excel工作簿的多个sheet工作表,新工作表的名称等于原工作簿的名称
Sub Books2Sheets()
'定义对话框变量
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'新建一个工作簿
Dim newwb As Workbook
Set newwb = Workbooks.Add
With fd
If .Show = -1 Then
'定义单个文件变量
Dim vrtSelectedItem As Variant
'定义循环变量
Dim i As Integer
i = 1
'开始文件检索
For Each vrtSelectedItem In .SelectedItems
'打开被合并工作簿
Dim tempwb As Workbook
Set tempwb = Workbooks.Open(vrtSelectedItem)
'复制工作表
tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
'把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
'关闭被合并工作簿
tempwb.Close SaveChanges:=False
i = i + 1
Next vrtSelectedItem
End If
End With
Set fd = Nothing
End Sub

二、多文件合并到同一个Sheet下:
1、在想要合并的excel文件目录中新建一个excel文件。
2、右键新建excel中的sheet1选择“查看代码”,或者Alt+F11直接调出VBA操作界面。
3、运行以下代码(蓝色加粗倾斜字体)。

注意:
1、excel文件类型是xls和xlsx,需要对应修改代码里的后缀
2、合并前最好关闭其他excel文件,否则可能出现合并数据插入到其他excel的情况。

代买如下:

 Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将多个单独的Excel文件合并一个Excel的不同sheet的方法如下: 1. 首先,打开要合并Excel文件,并确保每个单独的文件只包含一个sheet,并且这些sheet的数据结构相同。 2. 在目标Excel文件中,创建与要合并的单独文件数量相同的sheet,每个sheet的名称可以与单独文件的名称相同,方便识别。 3. 确保目标Excel文件中的每个sheet都是空的,没有任何数据。 4. 依次打开每个单独的Excel文件,在源文件的第一个sheet中选择所有数据。 5. 复制所选数据(可以通过右键菜单中的“复制”选项或使用快捷键Ctrl+C)。 6. 切换到目标Excel文件中的对应sheet,将复制的数据粘贴到该sheet中。 7. 重复步骤4-6,将每个单独Excel文件的数据依次粘贴到目标Excel文件的对应sheet中。 8. 在目标Excel文件中保存所做的更改,并确保合并后的数据已正确显示在每个sheet中。 通过上述步骤,您可以将多个单独的Excel文件合并一个Excel的不同sheet中,而无需使用任何代码。 ### 回答2: 要将多个单独的Excel文件合并一个Excel文件的不同sheet,可以按照以下步骤操作,无需编写代码: 1. 首先,确保所有要合并Excel文件都在同一个文件夹中,方便管理。 2. 打开一个新的Excel文件,作为最终合并的目标文件。 3. 在新的Excel文件的不同sheet中,为每个要合并Excel文件分别创建一个sheet,以便分别存放不同的数据。 4. 分别打开每个要合并Excel文件。 5. 选择要合并的第一个Excel文件的第一个sheet中的所有数据(包括表头)。 6. 按下Ctrl+C键,将选定的数据复制到剪贴板中。 7. 切回到最终合并的目标文件,在对应的sheet中选择单元格A1。 8. 按下Ctrl+V键,将剪贴板中的数据粘贴到目标文件的对应sheet中。 9. 重复步骤5-8,依次将所有要合并Excel文件的数据分别复制粘贴到目标文件的对应sheet中。 10. 最后保存目标文件。 通过以上步骤,您可以将多个单独的Excel文件合并一个Excel文件的不同sheet中,每个sheet对应一个合并Excel文件的数据。 ### 回答3: 要将多个单独的Excel文件合并一个Excel的不同sheet中,不需要编写代码,可以按照以下步骤操作: 1. 确保要合并的所有Excel文件位于同一文件夹中。 2. 打开一个新的Excel工作簿。 3. 在新的Excel工作簿中创建与要合并文件数量相等的sheet,每个sheet代表一个单独的Excel文件。 4. 在每个sheet中,分别点击“数据”选项卡的“来自文本”按钮。 5. 在打开的“导入文本向导”中,选择要合并Excel文件所在的文件夹,并选中要合并的第一个Excel文件。 6. 确保“分隔符”选项框中没有选中任何选项,并点击“下一步”。 7. 在第二步中,选择“分列数据类型”为“常规”,并点击“下一步”。 8. 在第三步中,选择目标位置为当前打开的Excel工作簿中的第一个sheet,点击“完成”。 9. 重复步骤4到步骤8,将要合并的所有Excel文件分别导入到每个sheet中。 10. 最后,将每个sheet中的数据联结到新的Excel工作簿的不同sheet中。 11. 如果需要,可以对合并后的数据进行进一步的编辑和整理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值