1
A
回答
1
不確定您是否可以在不打開工作簿的情況下執行此操作。我建立了一個如下所示的函數。
Private Function GetValue(path, file, sheet, ref)
Dim wb As Workbook
Application.ScreenUpdating = False
Set wb = Workbooks.Open(path & Application.PathSeparator & file)
Worksheets(sheet).Activate
GetValue = Range(ref)
wb.Close savechanges:=False
Application.ScreenUpdating = True
End Function
然後使用它像
Dim path As String
Dim file As String
Dim sht As String
Dim rng As String
path = ThisWorkbook.path
file = "book.XLSX"
sht = "Sheet1"
rng = "A1:D300"
ActiveSheet.Range("A1:D300").Value = GetValue(path, file, sht, rng)
1
如果你只在封閉的工作簿中的數據值感興趣,你可以用你打開的工作簿的空範圍爲臨時區域,然後填寫使用數組公式:
ScratchWorksheet.Range("B1", "B3").FormulaArray = "='PathToClosedBook\[ClosedBook.xlsx]Sheet1'!$B$1:$B$3"
完成後,您可以刪除FormulaArray,以便在打開的工作簿中不保留外部鏈接。
相關問題
- 1. 複製範圍從一個工作簿到另一個
- 2. 從活動工作簿複製範圍到封閉工作簿MAC OSX,錯誤
- 3. PasteSpecial的範圍從一個工作簿到另一個使用的SpreadsheetGear
- 4. 將數據從一個工作簿複製到另一個工作簿,超出範圍?
- 5. 運行一個宏從一個封閉的工作簿,並保存
- 6. 將可變範圍從一個工作簿粘貼到另一個工作簿,從特定單元格開始
- 7. 使用另一個工作簿中的代碼從一個工作簿刪除數據範圍
- 8. Excel的VBA:複製範圍到一個新的工作簿
- 9. 使用表格範圍將範圍從Excel工作簿複製到另一個工作簿
- 10. 從一個工作簿傳輸到另一個工作簿
- 11. VBA從一個工作簿複製到另一個工作簿
- 12. 從一個工作簿複製範圍到另一個在Excel VBA中
- 13. 範圍聲明從一個工作簿複製並粘貼到另一個
- 14. 複製將命名範圍從一個工作簿粘貼到另一個
- 15. 有沒有辦法從一個封閉的工作簿中提取宏?
- 16. 宏範圍複製到一個新的工作簿
- 17. 根據條件將特定範圍從一個工作簿複製到另一個工作簿
- 18. 匯入動態範圍從一個Excel工作簿到另一個Excel工作簿
- 19. VBA:將範圍數據從一個工作簿轉置爲另一個
- 20. ExecuteExcel4Macro從封閉的工作簿中獲取值
- 21. 從封閉工作簿中獲取變量名稱的信息
- 22. 無法從另一個工作簿中選擇範圍
- 23. 複製範圍從另一個工作簿
- 24. 將數據從一個工作簿複製到另一個工作簿與表
- 25. Powershell:將數據從一個Excel工作簿複製到另一個工作簿
- 26. 將數據從一個工作簿傳輸到另一個工作簿
- 27. 將數據從一個工作簿複製到另一個工作簿
- 28. 將數據從一個工作簿複製到另一個工作簿表
- 29. VBA將數據從一個工作簿複製到另一個工作簿
- 30. 將數據從一個工作簿複製到另一個工作簿
糟糕,你想要它在一個數組中。呃,嘗試存儲函數數組? XD – findwindow
感謝您的快速回復。它的工作原理,仍然有興趣看看是否有人有解決方案,不需要打開外部工作簿。 –
嗯可能http://stackoverflow.com/questions/24952856/pulling-data-from-a-closed-workbook-macro? – findwindow