我发现了这段代码,并认为如果我只需要从封闭表中提取一个值,那可能会很好用。
strInfoCell = "'" & strPath & "[" & strFile & "]Sheet1'!R3C3"
myvalue = ExecuteExcel4Macro(strInfoCell)
当我运行此代码时,我得到一个
strinfocell
的值'C:\Users\my.name\Desktop[QOS DGL stuff.xlsx]Sheet1'!R3C3
但是,当我运行代码时,会弹出一个对话框,显示带有“
QOS DGL suff
”的桌面文件。是什么原因造成的,为什么它不只是按预期方式拉回数据?
我知道路径和文件名是正确的,因为如果我从调试输出中复制它们并将其粘贴到
start>>run
中,则会打开正确的工作表。我知道
Sheet1
(名为:ACL
)在cells(3,3)
中确实有一个值 最佳答案
这取决于您如何使用它。正在显示打开文件对话框,因为“ strPath”结尾没有“ \”;)
试试这个代码。有用
历经考验
Option Explicit
Sub Sample()
Dim wbPath As String, wbName As String
Dim wsName As String, cellRef As String
Dim Ret As String
'wbPath = "C:\Documents and Settings\Siddharth Rout\Desktop\"
wbPath = "C:\Users\my.name\Desktop\"
wbName = "QOS DGL stuff.xls"
wsName = "ACL"
cellRef = "C3"
Ret = "'" & wbPath & "[" & wbName & "]" & _
wsName & "'!" & Range(cellRef).Address(True, True, -4150)
MsgBox ExecuteExcel4Macro(Ret)
End Sub