[爆卦]excel自動抓取檔案名稱是什麼?優點缺點精華區懶人包

為什麼這篇excel自動抓取檔案名稱鄉民發文收入到精華區:因為在excel自動抓取檔案名稱這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jinnit09786 (樂在棋中)看板Office標題[算表] 在固定檔案名稱規則下抓取檔案內...


軟體:EXCEL
版本:2010

情境:
在固定的資料夾內每日自動產生一報表(D:\XXXX\parameter20180423131053)(即年/月/日
/時/分/秒的格式)
假設今天資料夾內有以下五個xls檔案,名稱如下:
parameter20180423090937.xlsx
parameter20180424090959.xlsx
parameter20180425091014.xlsx
parameter20180426091021.xlsx
parameter20180427091028.xlsx

個別問題:
1.我想要製作一個總表,在該總表的A1儲存格顯示「抓取上述5個檔案的固定F4儲存格之
加總值」。
2.做一個選項按鈕,當下拉式清單切換月份為05時,點選月表按鈕,可以自動抓取05月
份的01~31的固定儲存格之加總值顯示在A1儲存格。(即主問題點是在如何僅從部分檔名”
0501”~”0531”相符,就抓取該資料的某儲存格之值?因最尾端時間可能不固定,故只能
從部分檔名,或第幾個字節來做處理)
3. 當同一日的報表有1個以上,只抓取最後紀錄時間的xlsx檔。(設23:59:59為最後紀錄
時間)

不好意思問題有點冗長,懇請能提供一點相關功能的提示,讓我能從買來的範例書(VBA
757個範例)中尋找相關對策。

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.133.154
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1524462540.A.FE0.html
soyoso: dir配合迴圈來抓檔名,可以*(萬用字元) 04/23 14:05
感謝S大!!正是需要此函數來抓檔案,馬上研究應用。
※ 編輯: jinnit09786 (220.137.133.154), 04/23/2018 14:17:45
soyoso: 問題3,設個變數,dir迴圈於同一日判斷時間部分(mid取出) 04/23 14:21
soyoso: 和變數那個大,為真則寫入變數內,來取得最後紀錄時間的檔 04/23 14:23
soyoso: 名 04/23 14:23
想請教怎麼指定一串檔名當中的時間部分呢?(指定第幾至幾的字元)
soyoso: 有檔名且知道工作表名稱的話,可以worksheets.open來抓取 04/23 14:26
soyoso: 不開檔的話,可於總表任一儲存格以='路徑\[完整檔名]工作 04/23 14:27
soyoso: 名稱'!儲存格位置來取得該值 04/23 14:28
※ 編輯: jinnit09786 (220.137.133.154), 04/23/2018 14:42:55
soyoso: 如原文名稱長度固定,可以mid(檔名,18,6)來取得 04/23 14:52
soyoso: 或以replace取代".xlsx"為""後,right取6位 04/23 14:53
soyoso: 知道工作表名稱,不開檔方面也可以ado,getstring來取得原 04/23 14:56
soyoso: 文所寫到儲存格f4的值 04/23 14:56
太謝謝了!上述指令我研究使用看看,另外您提到的外部參照使用方法,在[完整檔名]這部分,
如果我想要指向到已經用dir抓取到的檔名所在的儲存格的string,該如何做呢?萬分感謝><
※ 編輯: jinnit09786 (220.137.133.154), 04/23/2018 15:07:00
soyoso: 可以任一儲存格內以='路徑\[完整檔名]工作名稱'!儲存格位 04/23 15:08
soyoso: 置來取得該值,再以變數=儲存格,傳回變數 04/23 15:09
S大,測試了一個下午之後,我發現﹝完整檔名〕好像沒有辦法將內容直接指向儲存格,
想請問這有解嗎?這個中括號微軟好像也沒有給出他的屬性,不知道可以怎麼使用。謝謝!
jinnit09786: 謝謝!!終於打通了,做二段處理就可以達到了,太感謝S 04/23 15:14
jinnit09786: 大無私傳授了。 04/23 15:15
※ 編輯: jinnit09786 (42.72.191.239), 04/23/2018 22:10:52
soyoso: 是指不開啟檔案且不透過任一儲存格來取得嗎? 04/23 22:32
儲存格內有檔名:XXXX.xlsx,但是我的[完整檔名]內的完整檔名無法寫入儲存格的位址。
也就是,想要以儲存格內的值來取代檔名,但是試了好多指令都無法代入進去> <
※ 編輯: jinnit09786 (42.72.191.239), 04/23/2018 22:46:05
※ 編輯: jinnit09786 (42.72.191.239), 04/23/2018 22:49:37
soyoso: 無法寫入儲存格的位址是指? 04/23 22:58
soyoso: 因不太了解回文的意思,原po要不要舉例或截個圖看看 04/23 22:58
假設A1儲存格的值是xxxx.xlsx,我的某一儲存格想要寫入='路徑\[A1]工作表1'!儲存格
當中的A1,我不曉得可以使用什麼指令來代入。
※ 編輯: jinnit09786 (42.72.191.239), 04/23/2018 23:02:39
soyoso: "='路徑\[" & range("a1") & "]工作表1'!儲存格" 方式連接 04/23 23:04
不好意思慧根不夠>< 我還是出現了#REF!
※ 編輯: jinnit09786 (42.72.191.239), 04/23/2018 23:16:59
jinnit09786: https://imgur.com/7K8FReY 04/23 23:22
soyoso: 以上回文的是從vba內所執行的,工作表資料編輯列(公式列) 04/23 23:26
soyoso: 並無法用range() 04/23 23:26
謝謝S大!VBA寫入確實可行,謝謝您讓初入vba的我又獲得學習的動力了!感謝!.
※ 編輯: jinnit09786 (42.72.191.239), 04/23/2018 23:43:53
jinnit09786: S大您好,經過您的幫助,第三題我以較土法煉鋼的方式 04/24 21:07
jinnit09786: 完成了,如下兩張圖,但仍想請教您,我有沒有更好的 04/24 21:08
jinnit09786: 應用變數的方式來做判別呢?現在我只會比較土的一個一 04/24 21:09
jinnit09786: 個列出來,想要更有效率的撰寫來達到目的。謝謝!! 04/24 21:10
jinnit09786: https://imgur.com/lltABh1 04/24 21:10
jinnit09786: https://imgur.com/Ey8GHtS 04/24 21:11
※ 編輯: jinnit09786 (42.73.32.100), 04/24/2018 21:38:42
soyoso: https://i.imgur.com/UIi1Ov8.jpg 類似這樣 04/25 08:28
謝謝S大,我學到很多!
※ 編輯: jinnit09786 (36.225.117.91), 04/25/2018 12:22:57

你可能也想看看

搜尋相關網站