2016-07-27 59 views
-1

如何使用VB宏代碼合併兩個Excel文件的內容代碼。使用VB宏合併兩個Excel文件的內容代碼

Sub GetSheets() 
Dim temp As String 
Path = "C:\Users\....\ Desktop\Excel combine\" 
Filename = Dir(Path & "*.xlsx") 

Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True 

temp = ActiveWorkbook.Name ActiveSheet.Name = temp 

ActiveWorkbook.Sheets(temp).Copy After:=ThisWorkbook.Sheets(1) 
Workbooks(Filename).Close 

Filename = Dir() 
Loop 

End Sub 

我上網的代碼不符合要求。

+0

你能分享一下你迄今爲止試過的代碼嗎? – Siva

+0

您是否正在考慮將工作表(Sheet1,Sheet2)數據合併到一個工作簿(工作表1和工作表2) – Siva

+0

我有兩個獨立的Excel工作表,我想將兩個工作表中的Excel合併到一個Excel中......比如說1.xls和2.xls所以我需要將2.xls的數據附加到1.xls – sonaa

回答

0

下面的代碼將工作表Sheet1之後Copys WorkBook1和地方WorkBook2的整個工作表Sheet1

Sub CopySheet_From_WB1_To_WB2() 
    Dim wb1 As Workbook 
    Dim wb2 As Workbook 
    Dim ws1 As Worksheet 
    Dim ws2 As Worksheet 

    Set wb1 = Application.Workbooks.Open("C:\Users\...\Desktop\1.xlsx") 
    Set ws1 = wb1.Sheets("sheet1") 'replece 'Sheet1' with your sheet name 
    Set wb2 = Application.Workbooks.Open("C:\Users\...\Desktop\2.xlsx") 
    'Copying WorkBook1's Sheet1 to Workbook2 after Sheet1 
    ws1.Copy After:=wb2.Sheets("Sheet1") 'replece 'Sheet1' with your sheet name 

    wb1.Save 
    wb1.Close 

    wb2.Save 
    wb2.Close 

End Sub 

下面的代碼將Workbook1的工作表Sheet1複製使用單元格的值和Workbook2

Sub CopySheet1Data_to_Sheet2() 
    Dim wb1 As Workbook 
    Dim wb2 As Workbook 
    Dim ws1 As Worksheet 
    Dim ws2 As Worksheet 

    Set wb1 = Application.Workbooks.Open("C:\Users\...\Desktop\1.xlsx") 
    Set ws1 = wb1.Sheets("sheet1") 'replece 'Sheet1' with your sheet name 
    ws1.Range(Cells(1, 1), ActiveCell.SpecialCells(xlLastCell)).Select 

    Selection.Copy 
    Set wb2 = Application.Workbooks.Open("C:\Users\..\Desktop\2.xlsx") 
    Set ws2 = wb2.Sheets("Sheet1") 
    ws2.Activate 
    lastUsedRow = ActiveCell.SpecialCells(xlLastCell).Row 
    ws2.Cells(lastUsedRow + 1, 1).Select 
    ActiveSheet.Paste 

    wb1.Save 
    wb1.Close 

    wb2.Save 
    wb2.Close 

End Sub 
的Sheet1中的最後一次使用一行之後粘貼
+0

謝謝Siva,但我正在運行它我得到的應用程序對象錯誤 – sonaa

+0

你能指定行的代碼錯誤?另外哪些代碼第一或第二 – Siva

+0

我越來越錯誤在第七行的代碼ie即設置wb1 = Application.Workbooks.Open(「C:\ Users \ ... \ Desktop \ 1.xlsx」) – sonaa