免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Excel多個(gè)工作簿中的工作表合并到一個(gè)工作簿中
Excel多個(gè)工作簿中的工作表合并到一個(gè)工作簿中 轉(zhuǎn)
LHY:方法2比較好,是我需要的Excel多個(gè)工作簿中的工作表合并到一個(gè)工作簿中!^_^

'有時(shí),需要將多個(gè)Excel工作簿中的工作表合并到一個(gè)工作簿中。有多種合并工作簿的情形,下面先給出一種合并多個(gè)工作簿的VBA范例,供參考。

方法1
Sub CombineWorkbooks()
Dim wk As Workbook
Dim sh As Worksheet
Dim strFileName As String
Dim strFileDir As String
Dim nm As String
nm = ThisWorkbook.Name
strFileDir = ThisWorkbook.path & "\"
Application.ScreenUpdating = False
strFileName = Dir(strFileDir & "*.xls")
Do While strFileName <> vbNullString
If strFileName <> nm Then
MsgBox strFileName
Set wk = Workbooks.Open(Filename:=strFileDir & strFileName, ReadOnly:=True)
strFileName = Left(Left(strFileName, Len(strFileName) - 4), 29) '取主文件名,除掉.XLS
For Each sh In wk.Sheets
sh.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
'工作表命名,以工作表所在文件名為類
If wk.Sheets.Count > 1 Then
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = strFileName & sh.Name
Else
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = strFileName
End If
Next
wk.Close SaveChanges:=False
End If
strFileName = Dir
Loop
Application.ScreenUpdating = True
End Sub

方法2
Sub UnWorksheets()
Application.ScreenUpdating = False
Dim lj As String
Dim dirname As String
Dim nm As String
Dim sname As String
Dim i As Integer, ii As Integer
lj = ActiveWorkbook.path
nm = ActiveWorkbook.Name
dirname = Dir(lj & "\*.xls") '查找文件
Do While dirname <> ""
If dirname <> nm Then
Workbooks.Open Filename:=lj & "\" & dirname '打開文件
ii = ActiveWorkbook.Sheets.Count '統(tǒng)計(jì)工作表個(gè)數(shù)
'復(fù)制新打開工作簿的每一個(gè)工作表到當(dāng)前工作表(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))最后一個(gè)后面
For i = 1 To ii
Workbooks(dirname).Sheets(i).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Next
Workbooks(dirname).Close False
End If
dirname = Dir
Loop
End Sub

'在同一文件夾下有多個(gè)工作簿,其中有一個(gè)用于匯總的工作簿,要求將除該匯總工作簿外的其它
'工作簿中的每一張工作表的數(shù)據(jù)匯總到該匯總工作簿中?

Sub UnionWorksheets()
Application.ScreenUpdating = False
Dim lj As String
Dim dirname As String
Dim nm As String
Dim i As Integer, ii As Integer
lj = ActiveWorkbook.path
nm = ActiveWorkbook.Name
dirname = Dir(lj & "\*.xls")
Cells.Clear

Do While dirname <> ""
If dirname <> nm Then
Workbooks.Open Filename:=lj & "\" & dirname
ii = ActiveWorkbook.Sheets.Count
Workbooks(nm).Activate
'復(fù)制新打開工作簿的每一個(gè)工作表的已用區(qū)域到當(dāng)前工作表
For i = 1 To ii
Workbooks(dirname).Sheets(i).UsedRange.Copy _
Range("a65536").End(xlUp).Offset(2, 0)
Next
Workbooks(dirname).Close False
End If
dirname = Dir
Loop

End Sub

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
合并多個(gè)工作簿
合并多個(gè)工作簿-2
把多個(gè)工作簿中的工作表合并到一個(gè)工作簿中的vba代碼_一分耕耘,一分收獲
把多個(gè)Excel文件合并到一個(gè)Excel文件的多個(gè)工作表(Sheet)里
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服