Вам придется так или иначе открыть файл, если вы хотите получить доступ к данным внутри него. Очевидно, один из способов - открыть его в экземпляре приложения Excel, например ::-10000
(непроверенный код)
Dim wbk As Workbook
Set wbk = Workbooks.Open("C:\myworkbook.xls")
' now you can manipulate the data in the workbook anyway you want, e.g. '
Dim x As Variant
x = wbk.Worksheets("Sheet1").Range("A6").Value
Call wbk.Worksheets("Sheet2").Range("A1:G100").Copy
Call ThisWorbook.Worksheets("Target").Range("A1").PasteSpecial(xlPasteValues)
Application.CutCopyMode = False
' etc '
Call wbk.Close(False)
Еще один способ сделать это - использовать ADODB-провайдер Excel, чтобы открыть соединение с файлом, а затем использовать SQL, чтобы выбрать данные на нужном листе, но, поскольку вы все равно работаете из Excel, я не верю есть причина сделать это, а не просто открыть рабочую книгу. Обратите внимание, что для метода Workbooks.Open () имеются дополнительные параметры, позволяющие открывать книгу только для чтения и т. Д.