2016-07-27 60 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