访问另一个工作簿中的单元格失败

时间:2016-04-24 00:14:42

标签: excel vba

我有一个名为" C:\ myfile.xlsm"的Excel工作簿。

它有一个名为" sales"。

的工作表

在另一个打开的工作簿中,我试图从C:\ myfile.xlsm工作簿中访问一个单元格值。

(BTW:C:\ myfile.xlsm未打开。)

执行以下操作失败:

temp = Workbooks("C:\myfile.xlsm").Worksheets("sales").Range("C2").Value

我收到此错误,我不知道原因:

  

运行时错误9

     

下标超出范围

4 个答案:

答案 0 :(得分:0)

这对我有用,希望它对你有帮助吗?

Private Sub stuff()
    Dim TemP As String
    TemP = "C:\Users\Ashleysaurus\Desktop\doug" & "\" & "Book1.xlsm"
    Set TemP2 = Workbooks.Open(TemP)
    Temp3 = ActiveWorkbook.Sheets("Sheet1").Range("e1").Value
    Debug.Print ; Temp3
End Sub

答案 1 :(得分:0)

你需要打开然后打开文件。

Workbooks.Open FileName:="C:\myfile.xlsm"

您可以使用该文件

temp = Workbooks("myfile.xlsm").Worksheets("sales").Range("C2").Value

如果您只想获取值:

temp = ExecuteExcel4Macro("'C:[myfile.xlsm]Sales'!" & Range("C2").Range("A1").Address(, , xlR1C1))

答案 2 :(得分:0)

使用它:

Set wk = Workbooks.Open("C:\myfile.xlsm")
temp = wk.Sheets("sales").Range("C2").Value
wk.Close

答案 3 :(得分:0)

要从不同的工作簿中获取Cell Value而不打开它,请尝试:

Sub Demo()        
    Dim Path As String, FileName As String, SheetName As String, CellRange As String
    Dim tempStr As String
    Path = "C:\"
    FileName = "myfile.xlsm"
    SheetName = "Sales"
    CellRange = Range("C2").Address(, , xlR1C1)

    strRef = "'" & Path & "[" & FileName & "]" & SheetName & "'!" & CellRange

    Result = ExecuteExcel4Macro(strRef)
End Sub