Sub UnionWorksheets()
Application.ScreenUpdating = False
Dim dirname As String
Dim nm As String
nm = ActiveWorkbook.Name
dirname = Dir("E:\123\*.xls")
Cells.Clear
Do While dirname <>""
If dirname <>nm Then
Workbooks.Open Filename:="E:\123\" &dirname
Workbooks(nm).Activate '复制新打开工作簿的第一个工作表的已用区域到当前工作表
Workbooks(dirname).Sheets(1).UsedRange.Copy _
Range("A65536").End(xlUp).Offset(1, 0)
Workbooks(dirname).Close False
End If
dirname = Dir
Loop
End Sub
新建一个EXCEL工作簿,打开开发悉尺工具里面的 Visual Basic 把上面的代码复制进去,然后根据下面的提示适当修改即可。
其中的 dirname = Dir("E:\123\*.xls")
Workbooks.Open Filename:="E:\123\" &dirname
是文件夹的路径,根据自己电脑的文件夹路径修改就可以。
Range("A65536").End(xlUp).Offset(1, 0)
这个A65536是行数,因为考虑是03版的所以用了这个,租吵行数也是可以自己调大的。
这个宏可以实现 汇总同一个文件夹下的所有工作薄的功能。
如何将同一文件夹下的所有Excel表格合并到一个表格中
1、新建一个文件夹、将要合并的表格放到里面、新建一个excel工作薄、用excel打开、右击Sheet1标签;
2、选择查看代码(PS:excel有着一项,WPS没有)
3、睁型高将下列代码复制到文本框中:
Sub 合并搜索当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As workbook, WbN As StringDim G As LongDim Num As LongDim BOX As StringApplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath &"\" &"*.xls")AWbName = ActiveWorkbook.NameNum = 0Do While MyName <>""If MyName <>AWbName ThenSet Wb = Workbooks.Open(MyPath &"\" &MyName)Num = Num + 1With Workbooks(1).ActiveSheet.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)For G = 1 To Sheets.CountWb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)NextWbN = WbN &Chr(13) &Wb.NameWb.Close FalseEnd WithEnd IfMyName = DirLoopRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" &Num &"个工作薄下的全部工作表。如下:" &Chr(13) &WbN,vbInformation, "提示"End Sub
4、点击运行、一段时间(取决于表格的大小和多少)后,合并完成了。
如何多个excel文件合并到一个文件多个sheet
需要用到VBA代码。
Sub Books2Sheets()'定义对话框变量Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker)'新建一个工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fdIf.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,需要改成xlsxnewwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")'关闭被合并工作簿 tempwb.Close SaveChanges:=Falsei = i + 1Next vrtSelectedItemEnd If End With Set fd = NothingEnd Sub
具体方法请参考:
将多个excel文件合并到一个excel的多个sheet_百度经验
:jingyan.baidu./article/6181c3e0bd6274152ef1531e.
如何快速将多个文件夹下内容合并到一个文件夹下
建一个文件夹,把其他文件夹全部考进去,然后点该文件夹选搜索,这样所有文件都列出来了,把这些文件剪切然后到在该文件夹黏贴,这样所有文件都在这个文件夹了,其他文件夹就会变成空文件夹,可以选择删除。
怎样把多个excel文件合并到一个文件中
1、新建一个文件夹、将要合并的表格放到里面、新建一个表格、用excel打开、右击Sheet1
2、选择查看代码(PS:excel有着一项,WPS没有)
3、将下列代码复制到文本框中:
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
4、点击运行、一段时间(取决于表格的大小和多少)后,合并完成了。
多个txt文件合并到一个excel的不同sheet
Sub ImportingText()
Dim MyDir As Object
Dim MyDate As Object
Dim i, j, k As Integer
Const ForReading = 1
i = 1
Sheet2.UsedRange.ClearContents
Sheet3.UsedRange.ClearContents
Set MyDir = CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path &"log\")
Set MyFile = MyDir.Files
For Each File In MyFile
s = File.Name
Sheet2.Cells(i, 1) = s
i = i + 1
Next
Set MyDir = Nothing
Sheet2.Select
End Sub
这个是将某个目录下所有文件名读取的vba,你稍微改改就好了
示例 *** 作步骤如下:
1、首先把需要合并的excel文件归类在一个郑胡文件夹中方便查找选择。
2、打开excel表格,然后依次点击excel表格中数据——合并表格——多个工作表合并成一个工作表。
3、然后在d出对话袭野框中点击”添加文件喊禅拦“,把需要合并的excel表格添加到文件中。
4、接着取消勾选新建的excel表,并在左下方的选项中设置表格标题的行数为1,然后点击”开始合并“。
5、合并完成之后,会出现两个工作簿,其中一个显示数据合并是否成功,另外一个是合并后存放所有数据的工作簿。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)