Board logo

標題: INDIRECT參照未開啟的活頁簿 [打印本頁]

作者: chiata    時間: 2014-9-22 12:08     標題: INDIRECT參照未開啟的活頁簿

Google了一下,想用VBA寫,但目前狀況Sub可執行但不能改成Function。
求解,程式碼如下:

(成功)
Sub pullout()
    path = "D:\"
    workbookName = "Book1.xls"
    worksheetName = "sheet1"
    CELL = "A1"

    returnedValue = "'" & path & "[" & workbookName & "]" & _
          worksheetName & "'!" & Range(CELL).Address(True, True, xlR1C1)
    Debug.Print returnedValue
    [D2] = ExecuteExcel4Macro(returnedValue)
End Sub


(失敗)
Private Function RETRIEVE(path, workbookName, worksheetName, CELL)

    returnedValue = "'" & path & "[" & workbookName & "]" & worksheetName & "'!" & Range(CELL).Address(True, True, xlR1C1)
    RETRIEVE = ExecuteExcel4Macro(returnedValue)

End Function
作者: GBKEE    時間: 2014-9-22 14:42

回復 1# chiata

請上傳你如何失敗的檔案
  1. Option Explicit
  2. Sub Ex()
  3.     MsgBox RETRIEVE("D:\", "BOOK1.XLS", "SHEET1", "A1")
  4. '可傳回 D:\[BOOK1.XLS]SHEET1!$A$1
  5. End Sub
  6. Private Function RETRIEVE(path, workbookName, worksheetName, CELL)
  7.     Dim returnedValue As String
  8.     returnedValue = "'" & path & "[" & workbookName & "]" & worksheetName & "'!" & Range(CELL).Address(True, True, xlR1C1)
  9.     RETRIEVE = ExecuteExcel4Macro(returnedValue)
  10. End Function
複製代碼

作者: chiata    時間: 2014-9-23 10:01

直接在sub中呼叫function是可以的,
但我想要直接在儲存格中key入公式使用。

如以下附件,請各位大大解惑,感恩!

[attach]19203[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)