Re: [算表] Excel跨檔案搜尋資料

看板Office作者 (優客)時間5年前 (2020/09/10 17:49), 編輯推噓0(001)
留言1則, 1人參與, 5年前最新討論串2/2 (看更多)
※ 引述《yuke11937 (優客)》之銘言: : 軟體: Office 365 : 版本: 1908 : 我的case是 我有很多檔案(workbook1, workbook2,...)都存在同一個資料夾, 然後我希望是 : 1. 透過一個query在不打開個別檔案的情況之下 查到我要的資料 : 2. 然後複製貼上在query內的表格(在workbookA上) : 範例來說就是 : sub 1926(workbook1) 和 sub 1927(workbook2)分別是兩個不同的檔案 : 我希望在workbookA裡面 輸入ID (ex: 1926) 後按下Query後 : 就可以自動去查找IVA和actual spending的資料並複製貼上在Query的這個新workbook. : IVA只是資料夾內的其中一種分類 : 資料夾裡面還有avoidance和NPC總共三種分類. : 但好消息是檔名在一開始就像我提供的一樣 已經在檔名就可以看出他的分類 : 我們可以先簡單一點 個別對IVA和avoidance寫query就好 : 能不能請問各位幫忙花一點時間幫我想一下如果是你 你會怎麼做? 感謝大家熱心回答 小弟目前想藉此機會好好把VBA學會 所以優先考量VBA的寫法, 也謝謝大大提供PowerQuery的方法! 目前卡在使用dir卻沒辦法準確指定資料夾內含有"IVA"的檔案 請問各位如果有空能給我一些建議嗎? -------------目前嘗試的程式碼如下----------- Sub VBA_Read_Data_Another_External_Workbook() Dim Target_Wb As Workbook Dim Source_Wb As Workbook Dim xDir As String Dim TargetPath As String TargetPath = "C:\Users\Desktop\Pat\Test" xDir = Dir(TargetPath & "*IVA.xls*", vbDirectory) Do While xDir <> "" Set Target_Wb = Workbooks.Open(xDir) Set Source_Wb = ThisWorkbook Target_Data = Target_Wb.Sheets(1).Cells(4, "N") Source_Wb.Sheets(1).Cells(6, "C") = Target_Data Target_Data = Target_Wb.Sheets(1).Cells(5, "N") Source_Wb.Sheets(1).Cells(6, "D") = Target_Data Target_Data = Target_Wb.Sheets(1).Cells(4, "O") Source_Wb.Sheets(1).Cells(7, "C") = Target_Data Target_Data = Target_Wb.Sheets(1).Cells(5, "O") Source_Wb.Sheets(1).Cells(7, "D") = Target_Data Source_Wb.Save Target_Wb.Save Target_Wb.Close False xDir = Dir() MsgBox "Task Completed" Loop End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.170.232.175 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1599731371.A.E63.html

09/10 17:51, 5年前 , 1F
檔名含有"IVA","*IVA*.xls*"
09/10 17:51, 1F
文章代碼(AID): #1VMVQhvZ (Office)
討論串 (同標題文章)
文章代碼(AID): #1VMVQhvZ (Office)