使用下面的代碼,我可以同時瀏覽多個excel文件,並將它們粘貼在單張紙上,這樣我的問題就是複製包括它們的標題在內的所有內容,但事情是我只想要它將第一個文件複製到頭文件中,其餘的文件必須只複製沒有聽到的數據,並將它們粘貼到彼此之下,因爲它們的頭文件都是相同的。Insert Table without Headers
例如:EG1 名字,姓氏,AGE
Kgotso,史密斯,20
EG2 名字,姓氏,AGE
布賴恩,棕色,32
結果:NAME ,SURNAME,AGE
Kgotso,Smith,20
布賴恩,棕色,32
Sub Button4_Click()
Dim fileStr As Variant
Dim wbk1 As Workbook, wbk2 As Workbook
Dim ws1 As Worksheet
fileStr = Application.GetOpenFilename(FileFilter:="microsoft excel files (*.xlsx), *.xlsx", Title:="Get File", MultiSelect:=True)
Set wbk1 = ActiveWorkbook
Set ws1 = wbk1.Sheets("Sheet3")
For i = 1 To UBound(fileStr)
MsgBox fileStr(i), , GetFileName(CStr(fileStr(i)))
Set wbk2 = Workbooks.Open(fileStr(i))
wbk2.Sheets(1).UsedRange.Copy ws1.Cells(ws1.Range("A" & Rows.Count).End(xlUp).Row + 2, 1)
wbk2.Close
Next i
End Sub
由於它工作Perfect.One件事怎麼能我讓代碼在粘貼時創建額外的列,並在該列中寫入導入文件的名稱? – Cwala
你可以做一些類似'Range(「A1:A30」)= filestr' - 只需將範圍(「A1:A30」)替換爲符合你需要的範圍。 – Jook