Board logo

標題: [發問] 如何擷取多個Excel檔中的欄位到一個Excel檔裡 [打印本頁]

作者: 3171jj    時間: 2013-4-25 17:26     標題: 如何擷取多個Excel檔中的欄位到一個Excel檔裡

請問,我有多個Excel file,分別為A.xls , B.xls ...等

要將A.xls的第2欄~5欄複製到新的xls的Sheet1,B.xls一樣從第2欄∼第5欄接在後面,C.xls依序下去.....

請問要怎麼用VBA寫呢>?

假如只複製3,5,10,11這種不連續欄位,會很複雜嗎?

請各位先進指教一下,謝謝∼
作者: stillfish00    時間: 2013-4-26 13:08

回復 1# 3171jj
Sub example2()
    Dim f, ar, r, fname
   
    f = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls),*.xls", Title:="選擇多個檔案", MultiSelect:=True)
    If Not IsArray(f) Then Exit Sub
        
    Application.ScreenUpdating = False
    '需要先建一個叫"彙整"的工作表
    r = 1
    For Each fname In f
        With Workbooks.Open(fname)
            .Sheets(1).Range("3:3,5:5,10:10,11:11").Copy ThisWorkbook.Sheets("彙整").Cells(r, "A")
            r = r + 4   '每次新增4列
            .Close False
        End With
    Next
    Application.ScreenUpdating = True
End Sub
作者: 3171jj    時間: 2013-4-28 00:43

回復 2# stillfish00

謝謝stillfish00大大的程式,再請教一下,如果要讓第二欄複製的資料跟在第一欄後面的列,要如何改程式碼呢>?  還請多多指教

原本程式執行完
第一欄
第二欄
第三欄
第四欄

執行完要改成
第一欄 第二欄 第三欄 第四欄
作者: stillfish00    時間: 2013-4-29 09:48

回復 3# 3171jj
假如只複製3,5,10,11這種不連續欄位

這邊的3,5,10,11是指 A3,A5,A10,A11 還是整行??
作者: 3171jj    時間: 2013-5-1 08:58

回復 4# stillfish00

整行
A3,B3,C3.........
A5,B5,C5.........
作者: stillfish00    時間: 2013-5-2 11:04

回復 5# 3171jj
A3,B3,C3.........到哪裡 ?(比方說到G3) 這樣才能做
能附檔案更好

不然不曉得下一個檔案(B.xls)的資料要接在哪個位置
[attach]14863[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)