EXCEL合并多个工作薄中的相同指定工作表到另一个工作薄中

文件夹有多个工作簿,每个工作簿都有两个工作表Sheet1和Sheet2,需要将每个工作簿中Sheet1工作表汇总到新建的excel工作簿Sheet1中,Sheet2汇总到... 文件夹有多个工作簿,每个工作簿都有两个工作表Sheet1和Sheet2,需要将每个工作簿中Sheet1工作表汇总到新建的excel工作簿Sheet1中,Sheet2汇总到新建的excel工作簿Sheet2中。如何写vba代码? 展开
 我来答
新浪河阳小子
科技发烧友

2019-02-20 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:6229
采纳率:73%
帮助的人:225万
展开全部
Sub mergeonexls() '合并多工作簿中指定工作表
On Error Resume Next
Dim x As Variant, x1 As Variant, w As Workbook, wsh As Worksheet
Dim t As Workbook, ts As Worksheet, l As Integer, h As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
x = Application.GetOpenFilename(FileFilter:="Excel文件 (*.xls; *.xlsx),*.xls; *.xlsx,所有文件(*.*),*.*", _
       Title:="Excel选择", MultiSelect:=True)
Set t = ThisWorkbook
Set ts = t.Sheets(1) '指定合并到的工作表,这里是第一张工作表
l = ts.UsedRange.SpecialCells(xlCellTypeLastCell).Column
For Each x1 In x
If x1 <> False Then
Set w = Workbooks.Open(x1)
Set wsh = w.Sheets(1) '指定所需合并工作表,这里是第一张工作表
h = ts.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If l = 1 And h = 1 And ts.Cells(1, 1) = "" Then
wsh.UsedRange.Copy ts.Cells(1, 1)
Else
wsh.UsedRange.Copy ts.Cells(h + 1, 1)
End If
w.Close
End If
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
帐号已注销
2019-02-20 · TA获得超过1663个赞
知道小有建树答主
回答量:6318
采纳率:30%
帮助的人:931万
展开全部
这个还得看你的文件才能具体写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式