VBA-合並多個工作簿


'合並多個工作薄,並以工作薄的名字給sheet表命名(每個工作薄只有一張表)
Sub test()
Dim str As String
Dim wb As Workbook
str = Dir("C:\Users\Administrator\Desktop\6.3_6.7\*.xls*")
For i = 1 To 100
    Set wb = Workbooks.Open("C:\Users\Administrator\Desktop\6.3_6.7\" & str)
    '文件匯總
    wb.Sheets(1).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    '使用文件名命名sheet表名,帶文件后綴名。
    'ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = wb.Name
   '使用split分隔,實現去掉后綴
   ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = Split(wb.Name, ".")(0)
   
    wb.Close
    str = Dir
    If str = "" Then
    Exit For
    End If
    
Next

End Sub

 

'一個工作簿有多個sheet表,以sheet表的名字命名
Sub test()
Dim str As String
Dim wb As Workbook
Dim sht As Worksheet
str = Dir("E:\data\*.xls*")
For i = 1 To 100
    Set wb = Workbooks.Open("E:\data\" & str)
    '文件匯總
    For Each sht In wb.Sheets
    sht.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
   'ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = Split(wb.Name, ".")(0) & sht.Name
   ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = sht.Name
   Next
   
    wb.Close
    str = Dir
    If str = "" Then
    Exit For
    End If
    
Next

End Sub

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM