2
我有一個文件夾中有多個文件。我想要將所有文件數據(即所有列到新工作表)複製到一個新工作表。 例如文件1包含5列數據,文件2包含10列數據等等。這個數據應該複製在新的表格上,比如前5列是來自文件1,然後是來自列6的同一張表格,file2數據應該是複製等等。使用VBA將多個xls文件數據複製到單個文件
我試過但面臨一些問題,如我能夠成功複製第一個文件數據,但是當我要去第二個文件,第二個文件數據覆蓋第一個文件。我想要第二個文件數據到下一列。
下面是我的代碼
Public Sub CommandButton1_Click()
'DECLARE AND SET VARIABLES
Dim wbk As Workbook
Dim Filename As String
Dim Path As String
Dim mainwb As Workbook
Dim ws As Worksheet
Dim search_result As Range 'range search result
Dim blank_cell As Long
Dim wb As Workbook
Path = "C:\Test\"
Filename = Dir(Path & "*.xls")
'--------------------------------------------
'OPEN EXCEL FILES
Do While Len(Filename) > 0 'IF NEXT FILE EXISTS THEN
Set wbk = Workbooks.Open(Path & Filename)
Set wbk = ActiveWorkbook
sheetname = ActiveSheet.Name
wbk.Sheets(sheetname).Activate
Lastrow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To Lastrow
wbk.Sheets(sheetname).UsedRange.Copy
Workbooks("aaa.xlsm").Activate
Set wb = ActiveWorkbook
sheetname1 = ActiveSheet.Name
Lastrow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
wb.Sheets(sheetname1).Range("A1").Select
wb.Sheets(sheetname1).Paste
Next i
ActiveCell.Offset(0, 1).Select
wbk.Close SaveChanges:=False
Filename = Dir
Loop
End Sub
plz幫助我...... 由於提前
您還需要提高Column值。在'wb.Sheets(sheetname1).Range(「A1」)。選擇''行,您需要將A1修改爲B1和C1等。使用一個簡單的循環,每次打開新的工作簿時將列前移1 Excel文件)。 –
看不清你爲什麼使用For i = 1 To Lastrow Loop – dbmitch
我不明白你的意思.....你可以在我的代碼中進行修改併發布它...謝謝你的回答 – Amar