1. 如何将同一文件夹下的所有Excel表格合并到一个表格中
1、新建一个文件夹、将要合并的表格放到里面、新建一个excel工作薄、用excel打开、右击Sheet1标签;
2、选择查看代码(PS:excel有着一项,WPS没有)
3、将下列代码复制到文本框中:
Sub合并搜索当前目录下所有工作簿的全部工作表()
DimMyPath,MyName,AWbName
DimWbAsworkbook,WbNAsString
DimGAsLong
DimNumAsLong
DimBOXAsString
Application.ScreenUpdating=False
MyPath=ActiveWorkbook.Path
MyName=Dir(MyPath&""&"*.xls")
AWbName=ActiveWorkbook.Name
Num=0
DoWhileMyName<>""
IfMyName<>AWbNameThen
SetWb=Workbooks.Open(MyPath&""&MyName)
Num=Num+1
WithWorkbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row+2,1)=Left(MyName,Len(MyName)-4)
ForG=1ToSheets.Count
Wb.Sheets(G).UsedRange.Copy.Cells(.Range("B65536").End(xlUp).Row+1,1)
Next
WbN=WbN&Chr(13)&Wb.Name
Wb.CloseFalse
EndWith
EndIf
MyName=Dir
Loop
Range("B1").Select
Application.ScreenUpdating=True
MsgBox"共合并了"&Num&"个工作薄下的全部工作表。如下:"&Chr(13)&WbN,
vbInformation,"提示"
EndSub
4、点击运行、一段时间(取决于表格的大小和多少)后,合并完成了。
2. 将一个文件夹里所有excel导入一个excel里
亲,将要汇总的文件放到一个单独专门的文件夹中。在此文件夹中新建或打开一个Excel文件作为汇总文件,找一个空白Sheet或者新建一个Sheet存放汇总数据。
然后按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。
Subhz()
Dimbt,r,c,n,firstAsLong
bt=1'这里设置标题行有几行
Dimf,ffAsObject
Setfso=CreateObject("Scripting.FileSystemObject")
Setff=fso.getfolder(ThisWorkbook.Path&"")
ForEachfInff.Files
Iff.Name<>ThisWorkbook.NameAndLeft(f.Name,2)<>"~$"Then
Workbooks.Openf.Name
WithWorkbooks(f.Name).ActiveSheet
Iffirst=0Then
c=.Cells(1,Columns.Count).End(xlToLeft).Column
.Range("A1").Resize(bt,c).CopyThisWorkbook.ActiveSheet.Range("A1")
n=bt+1:first=1
EndIf
r=.Cells(Rows.Count,"A").End(xlUp).Row
.Range("A"&bt+1).Resize(r-bt,c).CopyThisWorkbook.ActiveSheet.Range("A"&n)
n=n+r-bt
EndWith
Workbooks(f.Name).CloseFalse
EndIf
Nextf
Setfso=Nothing
EndSub
3. 怎样把文件夹所有excel表格的内容转到一个表格里
先将文件名列表放在一个文本文件或EXCEL文件里,本例中暂定为文本文件 dir.txt。
(1.进入DOS窗口:开始→运行→CMD+回车。
(2. 进入存放那些表格的文件夹。
(3. 输入 dir /b *.xls >dir.txt
然后见一个EXCEL表,暂定名为 汇总表.xls ,并打开此表
然后运行下面的宏。
Sub mv2one()
'' 宏由 nugget 制
'
' 目的:将一个文件中的1个表分别复制到统一的文件中去。
'
Dim mystring(100) As String ‘如果你的文件大雨100,就改一下这个数
Windows("汇总表.xls").Activate
icount = Worksheets.Count
strpath = ActiveWorkbook.Path
'
drv = Left(strpath, 3)
ChDrive drv
ChDir strpath
j = 1
Open "dir.txt" For Input As #1 ' 打开输入文件。
Do While Not EOF(1) ' 循环至文件尾。
Input #1, mystring(j)
Debug.Print mystring(j), j ' 在立即窗口中显示数据。
j = j + 1
Loop
Close #1 ' 关闭文件
For i = 1 To j - 1 Step 1
Workbooks.Open Filename:=mystring(i), UpdateLinks:=0, notify:=0
Sheets(1).Select
Sheets(1).Copy After:=Workbooks("汇总表.xls").Sheets(i)
Workbooks(mystring(i)).Close savechanges:=False
Next i
Workbooks("汇总表.xls").Save
End Sub
4. 如何将一个文件夹中多表数据汇总到一表
摘要 01新建一个空白的Excel文件
5. 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