Vba 从封闭工作簿中的单元格获取值,文件名由变量组成
我想返回封闭工作簿中单元格的值,其名称由以下变量组成:Vba 从封闭工作簿中的单元格获取值,文件名由变量组成,vba,excel,Vba,Excel,我想返回封闭工作簿中单元格的值,其名称由以下变量组成: ="'C:\" & x & ".13\" & y & "\[CSD m activity " & B1 & ".xlsx]Tracking'!B4" 其中x=6,y=6.1 我想返回文件中名为Tracking的工作表中B4的值 'C:\6.13\6.1\[CSD m activity 6.1.xlsx]Tracking'!B4 我的代码以字符串形式返回文件名,但我希望文件中包含该值,有没有
="'C:\" & x & ".13\" & y & "\[CSD m activity " & B1 & ".xlsx]Tracking'!B4"
其中x=6,y=6.1
我想返回文件中名为Tracking的工作表中B4的值
'C:\6.13\6.1\[CSD m activity 6.1.xlsx]Tracking'!B4
我的代码以字符串形式返回文件名,但我希望文件中包含该值,有没有办法在使用或不使用VBA的情况下执行此操作,任何方法都会有所帮助
谢谢 您可以从VBA中关闭的工作簿中获取值:
Debug.Print ExecuteExcel4Macro("'F:\Documents and Settings\student\My Documents\[AndysData7.xlsx]Staff List'!R6C4")
公式需要采用R1C1格式
不过,这是一项未记录的功能,在将来的Excel版本中可能不起作用。我所知道的从已关闭的工作簿中获取数据的唯一方法是打开它或建立ADODB连接并使用SQL查询它。如果其他工作簿已打开,则可以使用
=INDIRECT(..
否则您将需要VBA afaikBut,假设我想从名为“AndysData1”“AndysData2”等10个文件中的1个文件执行此操作,如果每个文件的文件夹路由不同,那么会怎么样?基本上,我希望文件路径是一个变量。您可以在变量中构造字符串,并在循环中将其传递给ExecuteExcel4Macro()
。