当前位置:问百问>百科词条>如何把excel几个表格合成一个表,一个表包含了被合成表的所有数据。

如何把excel几个表格合成一个表,一个表包含了被合成表的所有数据。

2025-01-25 02:34:20 编辑:zane 浏览量:591

如何把excel几个表格合成一个表,一个表包含了被合成表的所有数据。

的有关信息介绍如下:

如何把excel几个表格合成一个表,一个表包含了被合成表的所有数据。

新建一个工作表,命名后保存到和与合并的N个文件同一个文件文件夹,按 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。等候一会就OK了。 宏1:合并当前目录下所有工作簿的全部工作表到当前工作表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("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 To Sheets.Count Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1) Next WbN = WbN & Chr(13) & Wb.Name Wb.Close False End With End If MyName = Dir Loop Range("A1").Select Application.ScreenUpdating = True MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" End Sub 宏2:多个文件表合到一个文件表的多个SHEET中Sub CombineWorkbooks()Dim FilesToOpen, ftDim x As IntegerApplication.ScreenUpdating = FalseOn Error GoTo errhandlerFilesToOpen = Application.GetOpenFilename _(FileFilter:="Micrsofe Excel文件(*.xls), *.xls", _MultiSelect:=True, Title:="要合并的文件")If TypeName(FilesToOpen) = "boolean" ThenMsgBox "没有选定文件"'GoTo errhandlerEnd Ifx = 1While x <= UBound(FilesToOpen)Set wk = Workbooks.Open(Filename:=FilesToOpen(x))wk.Sheets().Move after:=ThisWorkbook.Sheets _(ThisWorkbook.Sheets.Count)x = x + 1WendMsgBox "合并成功完成!"errhandler:'MsgBox Err.Description'Resume errhandlerEnd SubEXCEL:一个工作薄中多个工作表合并代码新建一个空白EXCEL,把需要合并的表和空白EXCEL放在一个文件夹中在EXCEL中,到合并表里打开宏,将下列代码进行粘贴并保存。然后返回你需要合并的工作表中。或按 alt + f11,双击工程资源管理器里面的合并表的SHEET,在右侧的代码区粘贴如下代码。运行此宏,就合并了。Sub 合并sheets() n = 12 '源表个数,根据需要修改! nstart = 9 '每个单表数据的起始行数,根据需要修改! k = nstart '目标表的行标 For i = 1 To n irow = nstart '行标 While Sheets(i).Cells(irow + 1, 1) <> "" '后面个1以第1列数据为结束标示,确定源表的行数,根据需要修改! irow = irow + 1 Wend Sheets(i).Rows(nstart & ":" & irow).Copy '复制源数据行 Sheets(n + 1).Activate Sheets(n + 1).Cells(k, 1).Select ActiveSheet.Paste '粘贴数据 k = k + irow - nstart + 1 Next iEnd Sub

版权声明:文章由 问百问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbwen.com/tips/241387.html
热门文章