通过给定环境变量路径,将excel工作表的单元格值与另一个excel工作表一起引用
我有两张excel工作表, 第一个是: Test.xlsx 第二点: Sample.xlsx 我用Sample.xlsx的通过给定环境变量路径,将excel工作表的单元格值与另一个excel工作表一起引用,excel,excel-formula,Excel,Excel Formula,我有两张excel工作表, 第一个是: Test.xlsx 第二点: Sample.xlsx 我用Sample.xlsx的C10引用Test.xlsx中的B10单元格值,公式如下: ='C:\Users\Happy\Desktop\Work[Sample.xlsx]Sheet1'!C10 在Test.xlsx文件的B10中 有人能建议我如何替换公式中目标文件的硬编码路径吗: ='C:\Users\Happy\Desktop\Work[Sample.xlsx]Sheet1'!C10 (“C
C10
引用Test.xlsx中的B10
单元格值,公式如下:
='C:\Users\Happy\Desktop\Work[Sample.xlsx]Sheet1'!C10
在Test.xlsx文件的B10
中
有人能建议我如何替换公式中目标文件的硬编码路径吗:
='C:\Users\Happy\Desktop\Work[Sample.xlsx]Sheet1'!C10
(“C:\Users\Happy\Desktop\Work”)
环境变量“Temp”的值为“C:\Users\Happy\Desktop\Work”
谢谢。假设您的临时路径存储在单元格E1上。在B10上输入:
=INDIRECT(E1&"!C10")
当然,您可以使用名称Temp而不是E1。只需将E1单元(或您想要的任何其他单元)命名为Temp,并将公式更改为:
=INDIRECT(Temp&"!C10")
- 要命名单元格,请单击它并更改左上方框中的名称
- 我有两个文件:Book1.xlsx和Book2.xlsx
转到Book2.xlsx和特殊单元格,键入“
=[Book1.xlsx]Sheet1!$A$5
”例如。
更改Book1.xlsx.A5中的值并保存后,Book2.xlsx将生效。您需要使用VBA来展开环境变量。如果文件夹总是在用户的桌面上,那么这样的东西就足够了。将其放入工作簿中的标准代码模块:
公共函数GetEnviron(streng作为字符串,可选的folderAppend作为字符串=vbNullString)作为字符串
如果不是folderAppend=vbNullString,则
folderAppend=folderAppend&IIf(右(folderAppend,1)=“\”,vbNullString,“\”)
如果结束
GetEnviron=Environ(UCase(streng))&“\”和folderAppend
端函数
在您的电子表格中,请使用:
=INDIRECT(“”&GetEnviron(“USERPROFILE”,“Desktop\Work\”)&“[Sample.xlsx]Sheet1'!C10”)
VBA中的
Environ()
函数用于扩展环境变量字符串-例如:
- 环境变量:
|返回:(C:\Users\[username])%USERPROFILE%
- VBA
|返回:(C:\Users\[username])Environ(“USERPROFILE”)
- VBA
- 环境变量:
|返回:(C:\users\[username]\APPDATA\Roaming)%APPDATA%
- VBA
|返回:(C:\users\[username]\APPDATA\Roaming)Environ(“APPDATA”)
- VBA