Необходимо импортировать в сводную книгу данные из других книг. Книг много. Хочется как-то автоматизировать процесс через параметризацию имен файлов и книг. Приходит на ум только функция INDIRECT (ДВССЫЛ). Но она, к сожалению, не работает с закрытыми книгами. Поискал по нету - есть расширенная версия данной функции, но хочется, чтобы файл был максимально унифицированным и работал на всех компах, а уверенности в работоспособности расширенной двссыл нет.
Подскажите, какие еще могут быть варианты ссылки на другие книги (закрытые), кроме ДВССЫЛ? Есть пара решений VBA - работатает по примеру двссыл, но не совсем то, что нужно.
Мое видение - неплохо было бы, если бы сначала прописать формулы через ДВССЫЛ, а потом макросом их перевести в ссылки, т.е. как бы провести одну итерацию формулы.
Вот код, который накопал в сети:
Код
Private Sub Worksheet_Calculate()
Dim rWatchRange As Range
Dim sBook As String
Dim sFilePath As String
On Error Resume Next
Application.EnableEvents = False
Set rWatchRange = Range("B2:H2")
If Intersect(ActiveCell, rWatchRange) Is Nothing Then
Set rWatchRange = Nothing
Exit Sub
End If
sBook = ActiveCell
sFilePath = Range("FilePath")
Application.DisplayAlerts = False
ActiveCell.Offset(10, 0).Formula = _
"='" & sFilePath & "[" & sBook & ".xls]Sheet1'!R1C1"
Application.EnableEvents = True
Application.DisplayAlerts = True
On Error GoTo 0
End Sub
спасибо, буду разбираться. Просто изначально более предпочтительно решение без VBA (или с минимальным кодом), т.к. я могу только на уровне здравого смысла поправить код. А те, кто потом будут открывать, VBA вряд ли знают.