[VBA ] 如何抓相對路徑的資料

看板Visual_Basic作者 (小朋友)時間8年前 (2016/03/21 22:13), 8年前編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
請問版上大大 在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://www.ptt.cc/bbs/Visual_Basic/M.1458569614.A.B3C.html

03/22 06:44, , 1F
.\\[" & i & ".xlsx]綜合報表'!$A$3"
03/22 06:44, 1F

03/22 06:44, , 2F
".\[" & i & ".xlsx]綜合報表'!$A$3"
03/22 06:44, 2F
都試過了好像不行 在=後面加""會變字串,還是有別的方法呢 ※ 編輯: noworneverev (218.164.79.64), 03/22/2016 09:53:06

03/22 10:30, , 3F
用萬用方法試試 ./是本目錄 ../是上層目錄
03/22 10:30, 3F
我現在的問題是我目前這樣寫的話,意思應該是在指定的儲存格輸入公式="C:\....A3" 但這種方法似乎只能呼叫絕對路徑Q___Q 想請教有無其他解法 ※ 編輯: noworneverev (218.164.79.64), 03/22/2016 10:50:35

03/22 19:50, , 4F
用Application.FileDialog(msoFileDialogFolderPicker)
03/22 19:50, 4F

03/22 19:50, , 5F
讓使者自己指定資料夾
03/22 19:50, 5F

03/22 19:56, , 6F
03/22 19:56, 6F
文章代碼(AID): #1My06Eiy (Visual_Basic)
文章代碼(AID): #1My06Eiy (Visual_Basic)