作者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/cn.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