
excel 要将多个excel工作簿(多个excel文件)中每个的第二个sheet合并在一起,怎办
excel要将多个excel工作簿(多个excel文件)中每个的第二个sheet合并在一起,怎么办呢?每个工作簿都有2个sheet,想取第二个,然后合并,不需要计算,简单...
excel 要将多个excel工作簿(多个excel文件)中每个的第二个sheet合并在一起,怎么办呢?
每个工作簿都有2个sheet,想取第二个,然后合并,不需要计算,简单的复制合并数据就可以。。。。
数据类型格式基本都一样
jh_richey - 你好,你空间没找到合适的啊,
dz138 这段代码我试用了没成功啊?请问是不是要适当修改啊?
此外,给复制粘贴的同学 一个稍稍高级一点的方法, 用导入外部数据,直接选择文件中的sheet可以导入,不过也够累的 展开
每个工作簿都有2个sheet,想取第二个,然后合并,不需要计算,简单的复制合并数据就可以。。。。
数据类型格式基本都一样
jh_richey - 你好,你空间没找到合适的啊,
dz138 这段代码我试用了没成功啊?请问是不是要适当修改啊?
此外,给复制粘贴的同学 一个稍稍高级一点的方法, 用导入外部数据,直接选择文件中的sheet可以导入,不过也够累的 展开
展开全部
Private Sub CommandButton1_Click()
Dim Twb As Workbook, Wb As Workbook
Dim rng As Range, sht As Worksheet
Dim s
Application.ScreenUpdating = False
Set Twb = ThisWorkbook
With Application.FileSearch
.LookIn = Twb.Path
.Filename = "*.xls"
.Execute msoSortByFileName
For Each s In .FoundFiles
If s <> Twb.FullName Then
Set Wb = Workbooks.Open(s)
For Each sht In Wb.Sheets
If IsBlank_Sht(sht) Then
sht.Copy after:=Twb.Sheets(Twb.Sheets.Count)
End If
Next
Wb.Close False
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Function IsBlank_Sht(sht As Worksheet) As Boolean
IsBlank_Sht = True
If sht.UsedRange.Address = "$A$1" And sht.[a1] = "" And sht.Shapes.Count = 0 Then
IsBlank_Sht = False
End If
End Function
这是个汇总同目录下EXCEL文件所有SHEET的宏
需要新建一个EXCEL文件 插入一个按钮
只能在03下使用
07下不支持 With Application.FileSearch 这个命令
要不下载个EXCEL汇总专家 再删掉没用的SHEET吧
只知道这么多了
Dim Twb As Workbook, Wb As Workbook
Dim rng As Range, sht As Worksheet
Dim s
Application.ScreenUpdating = False
Set Twb = ThisWorkbook
With Application.FileSearch
.LookIn = Twb.Path
.Filename = "*.xls"
.Execute msoSortByFileName
For Each s In .FoundFiles
If s <> Twb.FullName Then
Set Wb = Workbooks.Open(s)
For Each sht In Wb.Sheets
If IsBlank_Sht(sht) Then
sht.Copy after:=Twb.Sheets(Twb.Sheets.Count)
End If
Next
Wb.Close False
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Function IsBlank_Sht(sht As Worksheet) As Boolean
IsBlank_Sht = True
If sht.UsedRange.Address = "$A$1" And sht.[a1] = "" And sht.Shapes.Count = 0 Then
IsBlank_Sht = False
End If
End Function
这是个汇总同目录下EXCEL文件所有SHEET的宏
需要新建一个EXCEL文件 插入一个按钮
只能在03下使用
07下不支持 With Application.FileSearch 这个命令
要不下载个EXCEL汇总专家 再删掉没用的SHEET吧
只知道这么多了
展开全部
用VBA
dim fso,fc,fo
dim Path as string
dim wb1 as workbook
dim wb2 as workbook
set wb1=workbooks.add
Set fso = CreateObject("Scripting.Filesystemobject")
Set fc = fso.GetFolder(Path)
Application.ScreenUpdating = False
For Each fo In fc.Files
If fo.Type = "Microsoft Excel Worksheet" Then
set wb2=workbooks.open path & "\" & fo.name,false,true
wb2.sheets(2).range("A1:E" & wb2.sheets(2).range("A65536").end(xlup).row).copy
wb1.sheets(1).activate
wb1.sheets(1).Range("A" & wb1.sheets(1).Range("A65536").end(xlup).row+1).select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next
Application.ScreenUpdating = False
dim fso,fc,fo
dim Path as string
dim wb1 as workbook
dim wb2 as workbook
set wb1=workbooks.add
Set fso = CreateObject("Scripting.Filesystemobject")
Set fc = fso.GetFolder(Path)
Application.ScreenUpdating = False
For Each fo In fc.Files
If fo.Type = "Microsoft Excel Worksheet" Then
set wb2=workbooks.open path & "\" & fo.name,false,true
wb2.sheets(2).range("A1:E" & wb2.sheets(2).range("A65536").end(xlup).row).copy
wb1.sheets(1).activate
wb1.sheets(1).Range("A" & wb1.sheets(1).Range("A65536").end(xlup).row+1).select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next
Application.ScreenUpdating = False
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你做个表格取数不就得了。
把多个表里的某一列、行。的数取到一个表里即可。
把多个表里的某一列、行。的数取到一个表里即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我只好一个一个复制,没有好办法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我的空间有一个工具,肯定好用的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询