Страницы: 1
RSS
Создание нескольких листов с разными именами, создание листов по шаблону
 
Здравствуйте, Уважаемые форумчане! Необходимо создать 27 листов в книге на VB(макросом), с именами прописанными либо вручную в коде программы для каждого листа, либо чтобы имена листов брались со столбца с какого-нибудь скрытого (28-го) листа.
Вид:
Код
Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Лист1").Select
    Sheets("Лист1").Name = "firm1"
Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Лист2").Select
    Sheets("Лист2").Name = "firm2"
корявенький....
Подскажите, пожалуйста, как можно "по-красивее" это реализовать?
Изменено: Mike - 26.02.2015 09:24:00
 
Код
Sub NewSheets()
Dim ArrName
Dim i As Long
    ArrName = Лист1.Range("A2:A28").Value
    
    For i = 1 To 27
        Sheets.Add After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = ArrName(i, 1)
    Next i
End Sub
 
Здорово! по идее все должно работать...НО..в 8-й строке пишет ошибку..
 
Возможно, лист с таким именем уже есть. Или массв имеет меньшую размерность, чем проходов цикла.
 
Решил проблему, заменил строку 4 на:
Код
ArrName = Sheets("Name").Range("A2:A28").Value
т.е. сделал обращение к листу по имени непосредственно...
СПАСИБО! ;)
Страницы: 1
Наверх