我有两个excel工作表, 第一个是:
Test.xlsx
和第二个:
Sample.xlsx
我使用以下公式将Test.xlsx中的B10
单元格值与Sample.xlsx的C10
一起引用:
='C:\Users\Happy\Desktop\Work[Sample.xlsx]Sheet1'!C10
在Test.xlsx文件的B10
中。
任何人都可以建议我如何在公式中替换目标文件的硬编码路径:
("C:\Users\Happy\Desktop\Work")
环境变量" Temp"值"C:\Users\Happy\Desktop\Work"
。
谢谢。
答案 0 :(得分:0)
假设您的临时路径存储在单元格E1上。在B10上输入:
=INDIRECT(E1&"!C10")
当然,您可以使用名称Temp而不是E1。只需将E1单元格(或您想要的任何其他单元格)命名为Temp并将公式更改为:
=INDIRECT(Temp&"!C10")
答案 1 :(得分:0)
我有2个文件:Book1.xlsx和Book2.xlsx
转到Book2.xlsx和特殊单元格并输入" =[Book1.xlsx]Sheet1!$A$5
"例如。
当您更改Book1.xlsx.A5中的值并保存时,Book2.xlsx将生效。
答案 2 :(得分:0)
您需要使用VBA来扩展环境变量。如果文件夹始终在用户的桌面上,那么这样的东西就足够了。将其放入工作簿中的标准代码模块中:
Public Function GetEnviron(strEnv As String, Optional folderAppend As String = vbNullString) As String
If Not folderAppend = vbNullString Then
folderAppend = folderAppend & IIf(Right(folderAppend, 1) = "\", vbNullString, "\")
End If
GetEnviron = Environ(UCase(strEnv)) & "\" & folderAppend
End Function
在您的电子表格中使用如下:
=INDIRECT("'"&GetEnviron("USERPROFILE","Desktop\Work\")&"[Sample.xlsx]Sheet1'!C10")
VBA中的Environ()
函数用于扩展环境变量字符串 - 例如:
%USERPROFILE%
|返回:(C:\ Users \ [username])
Environ("USERPROFILE")
|返回:(C:\ Users \ [username])%APPDATA%
|返回:(C:\ users \ [username] \ AppData \ Roaming)
Environ("APPDATA")
|返回:(C:\ users \ [username] \ AppData \ Roaming)