Добрый вечер.
Необходимо автоматически переименовывать листы книг из нескольких книг на основе ячеек таблицы.Данные по файлам и листам создаются на основе .
Файл-пример приведен во вложении. Есть 4000 excel файлов с разным именованием листов книг. Я создаю структуру файлов книг и листов в таблице на основе макроса, но не знаю как реализовать рекурсивное переименование листов книг на основе критерия в таблице. Критерий следующий.
В столбце G указаны пути к файлам. Столбец B содержит имена листов в соответствии с именем файла. Некоторые файлы содержат более одного листа.
Листы, названия которых должны быть переименованы подсвечены желтым. Например, лист в именем "false_sample_ad" должен быть переименован в "true_sample". НО. Есть листы, которые называются "false_sample 2017", поэтому они должны быть переименованы в "true_sample_2"
Пока получилось набросать только вариант с переименованием листов текущей книги на основе одной ячейки. Как это оформить в виде цикла для пробега по столбцам - не додумал.
Есть ли какие-то идеи? Сам процесс также тяжело проделать вручную, так как файлов очень много.
Заранее благодарен.
Необходимо автоматически переименовывать листы книг из нескольких книг на основе ячеек таблицы.Данные по файлам и листам создаются на основе .
Файл-пример приведен во вложении. Есть 4000 excel файлов с разным именованием листов книг. Я создаю структуру файлов книг и листов в таблице на основе макроса, но не знаю как реализовать рекурсивное переименование листов книг на основе критерия в таблице. Критерий следующий.
В столбце G указаны пути к файлам. Столбец B содержит имена листов в соответствии с именем файла. Некоторые файлы содержат более одного листа.
Листы, названия которых должны быть переименованы подсвечены желтым. Например, лист в именем "false_sample_ad" должен быть переименован в "true_sample". НО. Есть листы, которые называются "false_sample 2017", поэтому они должны быть переименованы в "true_sample_2"
Пока получилось набросать только вариант с переименованием листов текущей книги на основе одной ячейки. Как это оформить в виде цикла для пробега по столбцам - не додумал.
| Код |
|---|
Sub RS()
For i = 1 To Sheets.Count
If Worksheets(i).Range("A1").Value <> "" Then
Sheets(i).Name = Worksheets(i).Range("A1").Value
End If
Next
End Sub |
Есть ли какие-то идеи? Сам процесс также тяжело проделать вручную, так как файлов очень много.
Заранее благодарен.