作者noworneverev (小朋友)
看板Visual_Basic
標題[VBA ] 如何抓相對路徑的資料
時間Mon Mar 21 22:13:29 2016
請問版上大大
在Excel裡想用VBA抓相對路徑的資料該怎麼寫(同資料夾但不同層的檔案)
知道用絕對路徑怎麼寫,可是檔案給別人的時候可能就沒辦法跑了
所以想改用相對路徑寫,
Sub s()
Dim i As Integer
For i = 1 To 46
Sheets("工作表1").Range("A" & i & ":A" & i).Formula =
"='C:\Users\資料夾\VBA用\[" & i & ".xlsx]綜合報表'!$A$3"
Sheets("工作表1").Range("B" & i & ":B" & i).Formula =
"='C:\Users\資料夾\VBA用\[" & i & ".xlsx]綜合報表'!$E$3"
Next i
End Sub
C:\Users\資料夾\VBA用\ <--這個路徑可以改成相對的嗎?
有想過用ThisWorkbook.Path,可是好像不行
希望有人可以幫忙謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.251.127
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1458569614.A.B3C.html
1F:推 johnpage: .\\[" & i & ".xlsx]綜合報表'!$A$3" 03/22 06:44
2F:→ johnpage: ".\[" & i & ".xlsx]綜合報表'!$A$3" 03/22 06:44
都試過了好像不行 在=後面加""會變字串,還是有別的方法呢
※ 編輯: noworneverev (218.164.79.64), 03/22/2016 09:53:06
3F:推 angel07: 用萬用方法試試 ./是本目錄 ../是上層目錄 03/22 10:30
我現在的問題是我目前這樣寫的話,意思應該是在指定的儲存格輸入公式="C:\....A3"
但這種方法似乎只能呼叫絕對路徑Q___Q 想請教有無其他解法
※ 編輯: noworneverev (218.164.79.64), 03/22/2016 10:50:35
4F:→ potawei: 用Application.FileDialog(msoFileDialogFolderPicker) 03/22 19:50
5F:→ potawei: 讓使者自己指定資料夾 03/22 19:50