2016-07-06 2 views
1

Я пытаюсь получить значение ячейки из другой книги без открытия исходного файла. При использовании фактического адреса ячейки ниже будет возвращено значение из «SourceRange». Однако я хочу изменить приведенный ниже код, чтобы ссылаться на имя ячейки вместо адреса ячейки, поскольку строки могут быть добавлены. Итак, если имя ячейки в исходной книге называется «Всего», есть ли способ получить значение?Значение возвращаемой ячейки VBA из именованной ячейки в закрытой рабочей книге

Sub OpenFiles() 

Dim Folder_YR As String 
Dim Folder_MO As String 
Dim Path As String 
Dim File As String 
Dim SourceSheet As String 
Dim SourceRange As String 

Folder_YR = Sheets("Inputs").Range("B5").Value 
Folder_MO = Sheets("Inputs").Range("B9").Value 
FN = Sheets("Inputs").Range("B10").Value 


Path = "G:\PMT ACTIVITY\" & Folder_YR & "\" & Folder_MO & "\" 
File = FN 

SourceSheet = "Summary" 
SourceRange = Range("C1").Address(1, 1, xlR1C1) 

Ref = "'" & Path & "[" & File & "]" & SourceSheet & "'!" & SourceRange 

Sheets("Model").Range("C18").Formula = ExecuteExcel4Macro(Ref) 

End Sub 
+0

Пытались ли вы метод ADO? Не уверен, что это работает с именованным диапазоном ... http://stackoverflow.com/questions/16859255/reading-a-workbooks-without-opening-it-with-ado –

ответ