dneprcomp Цитата: При больших массивах ReDim Preserve займет много времени. Нерационально переписывать массив на каждом значении
Это все равно будет
гораздо быстрее, чем использовать несколько циклов работы с ячейками листа Excel.
Добавлено: DenisSmo Решение Вашей задачи достаточно простое, если имя листа, содержащего в ячейке "A1" значение для добавления к имени файла во всех файлах одинаковое и известное (в примере это "Литст1"). Только в этом случае можно получить значение ячейки не открывая файл (либо при помощи ссылки, либо макросом XLM). Если устраивает, то следующий код переименует все файлы с расширением ".xls" согласно Вашему требованию.
Код: Sub Main()
Dim FPath As String, FName As String, x As String
FPath = ThisWorkbook.path & Application.PathSeparator: FName = Dir(FPath & "*.xls")
Do While FName <> ""
If FName <> ThisWorkbook.Name Then
x = ExecuteExcel4Macro("'" & FPath & "[" & FName & "]Лист1'!" & Range([A1].Address).Range("A1").Address(, , xlR1C1))
Name FPath & FName As FPath & Left(FName, Len(FName) - 4) & x & ".xls"
End If
FName = Dir
Loop
End Sub