Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2009, 20:57   #1
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию Вставка нового листа.

Вставить новый лист вобщем не проблем. Но как вставить его так что бы он был в самом конце списка независимо от текущего листа?..
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 04.02.2009, 21:42   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вставка производится вручную, или макросом?

Если макросом, то примерно так:
Код:
Sub test()
    Set ПервыйЛист = ThisWorkbook.Worksheets.Add(ThisWorkbook.Worksheets(1))
    ПервыйЛист.Name = "ПервыйЛист"
    Set ПоследнийЛист = ThisWorkbook.Worksheets.Add(, ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
    ПоследнийЛист.Name = "ПоследнийЛист"
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 04.02.2009, 22:03   #3
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Вставка производится вручную, или макросом?
Вставка происходит макросом.

Если макросом, то примерно так:
Код:
Sub test()
    Set ПервыйЛист = ThisWorkbook.Worksheets.Add(ThisWorkbook.Worksheets(1))
    ПервыйЛист.Name = "ПервыйЛист"
    Set ПоследнийЛист = ThisWorkbook.Worksheets.Add(, ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count))
    ПоследнийЛист.Name = "ПоследнийЛист"
End Sub
Спасибо! Разобрался. Теперь буду копать дальше сам.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 05.02.2009, 05:18   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно чуть проще.
1. Добавляем новый лист последним, затем присваиваем ему имя:
Код:
Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "Имя_Нового_листа"
2. Добавляем новый лист сразу с присвоением ему имени, затем перемещаем его в конец:
Код:
Sheets.Add.Name = "Имя_Нового_листа"
    ActiveSheet.Move After:=Sheets(Sheets.Count)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание нового типа master_root Общие вопросы Delphi 2 02.07.2008 22:33
Подключение нового компонента Makarov Компоненты Delphi 10 18.01.2008 18:01
создание нового листа cathie Microsoft Office Excel 2 12.12.2007 15:49
приветсвуем нового модератора! Alar О форуме и сайтах клуба 8 29.11.2006 21:41