
*** 作设备:戴尔电脑
*** 作系统:win10
*** 作软件:Excel2016
1、将需合并的Excel文件放在同一个文件夹中。
2、打开新建的Excel文件,按 Alt + F11 键,打开宏,选择视图→代码窗口。
3、将下面的代码拷贝粘贴到代码窗口中:
Sub sheets2one()
'定义对话框变量
Dim cc As FileDialog
Set cc = ApplicationFileDialog(msoFileDialogFilePicker)
Dim newwork As Workbook
Set newwork = WorkbooksAdd
With cc
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 = WorkbooksOpen(vrtSelectedItem)
tempwbWorksheets(1)Copy Before:=newworkWorksheets(i)
newworkWorksheets(i)Name = VBAReplace(tempwbName, "xls", "")
tempwbClose SaveChanges:=False
i = i + 1
Next vrtSelectedItem
End If
End With
Set cc = Nothing
End Sub
4、点击菜单“运行”—“运行子过程/用户窗体”。
5、在d出选择对话框中,选择要批量合并的Excel文件,点击“确定”即可合并为一个Excel工作簿。
6、点击“确定”后,运行合并即可。
需要具体例子才有针对性,VLOOKUP函数语法如下,希望对你有帮助
VLOOKUP函数:在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 为需要在数组第一列中查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array 为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。
• 如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。
• 通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。
• Table_array 的第一列中的数值可以为文本、数字或逻辑值。
• 文本不区分大小写。
Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。
Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
说明
• 如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。
• 如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
• 如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
可以通过更改excel代码来合并多个文件。
详细步骤:
1、新建一个文件夹。
2、将要合并的表格放到里面。
3、新建一个表格。
4、用excel打开。
5、右击Sheet1。
6、选择查看代码。
7、将下列代码复制到文本框中:
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
ApplicationScreenUpdating = False
MyPath = ActiveWorkbookPath
MyName = Dir(MyPath & "\" & "xls")
AWbName = ActiveWorkbookName
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = WorkbooksOpen(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 SheetsCount
WbSheets(G)UsedRangeCopy Cells(Range("B65536")End(xlUp)Row + 1, 1)
Next
WbN = WbN & Chr(13) & WbName
WbClose False
End With
End If
MyName = Dir
Loop
Range("B1")Select
ApplicationScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
8、点击运行,即可成功合并。
参考资料:
百度百科-Microsoft Office Excel
以上就是关于如何批量合并Excel文件全部的内容,包括:如何批量合并Excel文件、我要把2张EXCEL表中同一个人的数据合并到一起,要用VLOOKUP急、excel如何将多个文件合并到一个文档中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)