Показать сообщение отдельно
Старый 04.06.2007, 19:36   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Андрей К. Посмотреть сообщение
К сожалению пока что вариант с 31 копией листов не может быть выбран как окончательный.
Ну это зря... Смотрите... А то я вам уже и макросик-размножитель слепил :
Код:
Sub VBAmacro_Create31days()

    Dim newBook As Workbook
    Dim currSheet As Worksheet
    Dim iDay As Integer
    
    Set newBook = Workbooks.Add
    
    'например, пусть самый первый лист книги - это наш лист-шаблон
    Set currSheet = newBook.Worksheets(1)
    currSheet.Name = "DayTemplate"
    
    'также для примера создадим на шаблоне именованный диапазон MyRangeA1 с областью видимости только на этом листе
    newBook.Names.Add Name:="DayTemplate!MyRangeA1", RefersTo:="=DayTemplate!$A$1"
        
    For iDay = 1 To 31
        currSheet.Copy after:=currSheet
        Set currSheet = ActiveSheet
        currSheet.Name = "Day" & CStr(iDay)
    Next iDay
    
    'теперь можно встать на любой лист и, нажав F5 и выбрав MyRangeA1, убедиться, что курсор прыгает в ячейку A1 именно на этом листе
End Sub