作者hyvi (過了都過了)
看板Office
標題[問題] 如何用VBA載入檔案,選擇特定條件的值?
時間Tue Sep 24 19:17:44 2019
軟體:office 365 excel
版本:office 365 excel
大師們求救
我有1個表A,N個檔案,檔案內容也很多筆
請問如何用vba按一個按扭,載入一個不指定路徑的檔案(手選),而且不打開複製來源檔,
只選擇要的欄位並篩選需要的值?
如圖1
我要C欄的值,條件是F欄是Y組的才要(如圖1),然後貼到表A的B2開始,大概變成(圖2)的樣
子,感謝。
圖1
https://imgur.com/SBMfGRx 圖2
https://imgur.com/lFGKdiV --
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.160.144 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1569323869.A.5D1.html
→ soyoso: 不開檔的話,ado range.copyfromrecordset 09/24 20:45
推 ptguitar: 我都是開了後再close掉 09/25 09:52
→ soyoso: 原po是要selecteditems這個屬性吧,是的話先.show,選取檔 09/25 18:08
→ soyoso: 案後,用個變數=.selecteditems(1)來取得所選取檔案的資料 09/25 18:10
→ soyoso: (路徑和完整檔名) 09/25 18:12
→ soyoso: 以連結巨集來看,在迴圈前應是還要在加上開檔workbooks. 09/25 18:30
→ soyoso: open的動作 09/25 18:30
→ soyoso: 不開檔的話也可用個儲存格,以公式='完整路徑[完整檔名]工 09/25 18:40
→ soyoso: 作表名稱'!儲存格的方式帶入值,再判斷該儲存格,符合,帶 09/25 18:41
→ soyoso: 入其他儲存格內的資料(同回文以公式),之後不要該公式的話 09/25 18:42
→ soyoso: 再選擇性貼上(值) 09/25 18:42
→ soyoso: 不是"filename"這個字串,而是.selecteditems(1)所取得的 09/25 19:06
→ soyoso: 字串 09/25 19:06
→ soyoso: 而這個字串包含了路徑和完整檔名,而workbooks()括號內要 09/25 19:08
→ soyoso: 的是完整檔名 09/25 19:08
→ soyoso: 如果不要還在那裡取出完整檔名的話,set 變數 = workbooks 09/25 19:09
→ soyoso: .open,變數.worksheets(..)的方式來做 09/25 19:10
→ soyoso: 不是,原本巨集內就寫了workbooks.open filename:=... 09/25 20:33
→ soyoso: set 變數 = workbooks.open 09/25 20:33
→ soyoso: 原本參引數不用括號,set時要加上 09/25 20:35
→ hyvi: 謝謝指導,但太深奧了,我看不懂. 09/26 16:22
→ soyoso: 就是workbooks.open filename:=.selecteditems(1) 09/26 16:24
→ soyoso: 改為set book2 = workbooks.open(filename:=.selecteditem 09/26 16:25
→ soyoso: s(1)) 09/26 16:25
→ soyoso: 而set book2 = workbooks.open這行就刪除 09/26 16:25
→ hyvi: 謝謝,這行過了下半段還是一堆問題 09/27 17:21