[EXCEL/VBA] 如何由儲存格內容改變檔案路徑以新增今天日期的資料夾?

各位先進們~大家好!
小弟本身對EXCEL VBA不熟,
但因工作需求,試著利用關鍵字搜尋爬文慢慢地學習,
最近有個小地方遇上問題,想請教各位高手~謝謝!!

目的:設置一個儲存按鈕,點選後會自動將文件儲存至指定資料夾,若沒有此資料夾則自動新增。

目前編寫的內容:
If Len(Dir("C:\Users\user\Desktop\Test\0709", vbDirectory)) = 0 Then
MkDir ("C:\Users\user\Desktop\Test\0709")
End If

ThisWorkbook.SaveCopyAs Filename:="C:\Users\user\Desktop\Test" & "\" & "0709" & "\" & Range("N6") & ".xlsm"

碰壁處:
可以看到目前路徑的最內層是日期,我想讓這個部分隨著我的某一個儲存格的內容改變而改變,
例如:我在A1儲存格寫入=TEXT(Now(),"MMDD") 讓這個儲存格會隨著日期的改變而改變,
也就是我明天儲存第一筆資料,他會自動判定沒有0710的資料夾,便自動新增0710並儲存。

在最後一段檔名的路徑上我只需要將0709改成Range("A1")即可,
但是上方路徑的部分直接改想當然是沒有效果的,
不曉得應該要怎麼處理呢?? 或是有其他更好的方法? 謝謝!
2018-07-10 0:12 發佈

9527_華安 wrote:
各位先進們~大家好...(恕刪)


先在A1把路徑搞好
再把變數帶入到儲存路徑
A1="C:\\Users\\user\\Desktop\\Test\\" & TEXT(Now(),"MMDD")

以下VBA

X=worksheets(1).cells(1,1)
If Len(Dir(X, vbDirectory)) = 0 Then
MkDir (X)
End If

ThisWorkbook.SaveCopyAs Filename:=X & "\" & Range("N6") & ".xlsm"


kentchan wrote:
先在A1把路徑搞好...(恕刪)



喔喔喔喔!! 感謝kentchan大大的解說~
既然不會把路徑中某部分設變數,
就乾脆把整個路徑都代進去~~
小弟著實上了一課! 立刻就成功了!!

之前總是想說要設變數放在路徑的後面,
可是不曉得是宣告部分沒寫好還是什麼問題總是失敗~
剛剛看了你的內容,似乎是我沒有指定worksheet~
所以程式不曉得是哪一個分頁的儲存格!

Anyway~再次感謝大大協助!!


內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?