Board logo

標題: [發問] 比對來源後符合條件則貼上資料 [打印本頁]

作者: PJChen    時間: 2019-12-8 20:38     標題: 比對來源後符合條件則貼上資料

本帖最後由 PJChen 於 2019-12-8 20:45 編輯

Dear,
VBA設在 Macro.xlsm
來源檔 最新庫存.xlsx
目的檔 資料夾:1.日班理貨換算表…有多個檔案,目前測試只放了3個
原來的程式是利用公式,再值化
可是跑的速度有點….慢!
我想改成....程式的功能需求為:
符合路徑設定的關鍵字"*Drink*,就打開檔案Dir(Path & "*Drink*.XLSX")
以來源檔的F欄&AI3:AY3去比對目的檔的資料夾內檔案
這2個條件符合,就把AI4:AY62的相對應資料(只貼值,不要公式、格式)貼到檔案群中的L欄
目的檔 資料夾內的檔案工作表以日期命名
貼的時候要以當天日期為主,例如:今天是8日,資料就貼在"8.sheet"
然後點選"9.sheet"存檔關閉
範例VBA是其中一個程式
其他檔案也有把資料貼在D+1的工作表內的,存檔時就要點選D+2
因為其他檔的資料不見得都貼在同個欄位,所以先用其中同欄位的來說明.
想請問依原來的程式可以怎麼改會跑得快些?
註:來源檔 最新庫存.xlsx 工作表內AI3:AY3的同名稱表頭有許多重複的,只能用這個範圍的名稱去比對目的檔的資料夾內檔案
[attach]31527[/attach]
作者: PJChen    時間: 2019-12-9 11:44

補充:
目的資料夾內的檔名 與 來源檔 最新庫存.xlsx 工作表內AI3:AY3的表頭
會有相同的字
例:暖暖1、湖口1....
也就是目的資料夾內的檔名會包含 AI3:AY3表頭字串
比對時可以用檔名作為對象
再比對打開目的檔之後的料號即可
作者: PJChen    時間: 2019-12-16 15:30

可能用文字描述顯得太過複雜....
不過這個程式只是慢,所以我想改寫它
我想改的部份只有二個地方
1) 用 "目的資料夾" 內的檔名 比對 "來源檔" 最新庫存.xlsx 工作表表頭AI3:AY3名稱,
     "目的資料夾" 內的檔名 都包含 "來源檔" 最新庫存.xlsx 工作表表頭AI3:AY3名稱
2)  檔名有部份相符,則比對料號並貼上相對應的資料
EX: Drink_湖口1.xlsx....檔案名稱的"湖口1"是符合"來源檔" 最新庫存.xlsx的AR3則
比對Drink_湖口1.xlsx的料號,料號相符,則貼上AR4:AR底相對應的資料

可否幫忙這二段程式的寫法??
作者: adrian_9832    時間: 2019-12-16 21:15

可以先縮減一下 EXCEL 表 的資料先嗎  

感覺資料有點過多  有點難看清楚
作者: PJChen    時間: 2019-12-16 21:33

回復 4# adrian_9832
因為平日用的表格篇幅就是很大的,不需用到的我就隱藏了,但我不想刪除它, 因為怕刪了,到時要改程式,又改錯....




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