Board logo

標題: 多筆EXECL 之資料,合在一起 [打印本頁]

作者: tomking    時間: 2011-5-26 00:54     標題: 多筆EXECL 之資料,合在一起

EX:

1.   1.XLS 之SHEET1 頁面  A1:A   D3: B
                                        A2:1   B2: 2 C2: 3  D2: 4
                                        ..
                                       ..
                                      ..

2.  rt.XLS 之SHEET1 頁面  A1:B   D3: R
                                        A2:3   B2: 9 C2: 8  D2: 6  

3. ...

4..  

合在一起,  
變整個LIST
作者: GBKEE    時間: 2011-5-26 08:33

回復 1# tomking
合在一起,  變整個LIST
合在哪裡要說清楚
作者: mark15jill    時間: 2011-5-26 09:48

回復 1# tomking


    方便用一個檔案當例子說明嗎...
不然這樣很籠統
作者: oobird    時間: 2011-5-27 10:32

資料~匯入外部資料
作者: tomking    時間: 2011-5-27 12:31

附上附件... 感謝.
作者: GBKEE    時間: 2011-5-27 14:47

回復 5# tomking
需求.xls,OS124.xls,OS123.xls 等都開啟的狀態下的程式碼
  1. Option Explicit
  2. Sub Ex()
  3.     Dim MyBook As Workbook, B As Workbook, R As Range, i As Long
  4.     Set MyBook = Workbooks("需求.XLS")
  5.     For Each B In Workbooks   '
  6.         If B.Name <> MyBook.Name Then
  7.             With B.Sheets(1)
  8.                 For i = 4 To .Cells(Rows.Count, "A").End(xlUp).Row
  9.                     Set R = MyBook.Sheets("LIST").Cells(Rows.Count, "A").End(xlUp).Offset(1)
  10.                     R.Resize(, 4) = Array(.[C1], .[E1], .[I2], .[A2])
  11.                     R.Offset(, 4).Resize(, 11) = .Range(.Cells(i, "A"), .Cells(i, "K")).Value
  12.                 Next
  13.             End With
  14.         End If
  15.     Next
  16. End Sub
複製代碼

作者: tomking    時間: 2011-5-28 22:21

回復 6# GBKEE


    DEAR GRKEE

     每個需取的EXECEL 檔中,只有一個頁面, 是否有機會,幫忙改成,不用開,來源DATA EXCEL檔,即可取DATA  
     是否有機會,先將來源DATA 先轉成.csv,   再取data.

    以上,請在幫忙
作者: GBKEE    時間: 2011-5-29 08:01

本帖最後由 GBKEE 於 2011-5-29 10:12 編輯

回復 7# tomking
"即可取DATA       是否有機會,先將來源DATA 先轉成.csv,   再取data. " 看不懂啊
檔案一定要開啟 試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim R As Range, i As Long, ii As Integer
  4.     With Application.FileDialog(msoFileDialogOpen)  '檔案對話方塊執行個體
  5.         .AllowMultiSelect = True                    '可複選檔案
  6.         .InitialFileName = "D:\TEST"                '可修改為你要開啟的目錄
  7.         .Show                                       '顯示檔案對話方塊
  8.         If .SelectedItems.Count >= 1 Then           '選擇的檔案數
  9.             For i = 1 To .SelectedItems.Count       '依序在選擇的檔案
  10.                 With Workbooks.Open(.SelectedItems(i))  '開啟檔案
  11.                     With .Sheets(1)
  12.                         For ii = 4 To .Cells(Rows.Count, "A").End(xlUp).Row
  13.                             Set R = Workbooks("需求.XLS").Sheets("LIST").Cells(Rows.Count, "A").End(xlUp).Offset(1)
  14.                             R.Resize(, 4) = Array(.[C1], .[E1], .[I2], .[A2])
  15.                             R.Offset(, 4).Resize(, 11) = .Range(.Cells(ii, "A"), .Cells(ii, "K")).Value
  16.                         Next
  17.                     End With
  18.                     .Close False   '關閉檔案不存檔
  19.                 End With
  20.             Next
  21.         End If
  22.     End With
  23. End Sub
複製代碼

作者: tomking    時間: 2011-6-21 08:26

DEAR GBKEE

THS.




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