2015年9月4日 星期五

自動多個工作簿(workbooks)的合併 → Part 1.透過VBA視覺化選取檔案。

繼上次分享 (巧克的VBA分享) 如何利用VBA寫出EXCEL樞紐分析Pivot table-如何關閉掉subtotal合計欄位? 後,因為工作上的需求,閒暇之餘,撰寫了一個VBA,可以自動合併所選取的所有工作簿(workbooks)。

教材連結下載

簡單介紹一下主要會用到的程式碼(Source):
1.透過點選Source


2.跳出選取目標資料夾檔案的視窗。


3. VBA自動將路徑帶入至目標欄位。
這些目標路徑在後續進行資料表合併的過程中,扮演著合併目錄的角色。



Public Sub 來源目錄2()
    Application.FileDialog(msoFileDialogFilePicker).Show
    For i = 1 To Application.FileDialog(msoFileDialogFilePicker).SelectedItems.Count
    Cells(i + 1, "B") = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(i) & "\"
    Next
End Sub

稍微講解一下:
    Application.FileDialog(msoFileDialogFilePicker).Show
表示啟用MS的路徑選擇功能,可以視覺化的選取。

    (msoFileDialogFilePicker)
表示選擇的目標為檔案/工作簿(Workbooks)

    For i = 1 To Application.FileDialog(msoFileDialogFilePicker).SelectedItems.Count
表示我們選取的檔案"數目"

    Cells(i + 1, "B") = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(i) & "\"
依照我們選取的檔案"數目"依照檔案順序依序填入至欄位中,未來可以做為合併目錄使用。

歡迎大家抓範例下來玩玩看,有任何問題的話,可以留言給我唷,巧克可以試著解決!!!






沒有留言:

張貼留言