Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Создание листов по шаблону из списка. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание листов по шаблону из списка. (Макросы/Sub)
Создание листов по шаблону из списка.
Unbealiveble Дата: Четверг, 29.09.2022, 18:17 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!
Нужен маркос который при нажатии на кнопку создавал листы с названиями из списка по назначенному шаблону.

Нашел простой макрос: он представлен в примере (файл прикреплен к сообщению). Но он плохо работает.
Помогите пожалуйста довести его до ума:

1) Нужно что бы создаваемые листы помещались справа от Листа "Список проектов"
2) Нужно что бы макрос проходил все ячейки диапазона и создавал только листы с новыми названиями из списка, если есть пустые ячейки в диапазоне - нужно их игнорировать.
3) Что бы не создавалась копия Листа "Шаблон"
К сообщению приложен файл: 1130911.xlsm(64.8 Kb)
 
Ответить
СообщениеДобрый день!
Нужен маркос который при нажатии на кнопку создавал листы с названиями из списка по назначенному шаблону.

Нашел простой макрос: он представлен в примере (файл прикреплен к сообщению). Но он плохо работает.
Помогите пожалуйста довести его до ума:

1) Нужно что бы создаваемые листы помещались справа от Листа "Список проектов"
2) Нужно что бы макрос проходил все ячейки диапазона и создавал только листы с новыми названиями из списка, если есть пустые ячейки в диапазоне - нужно их игнорировать.
3) Что бы не создавалась копия Листа "Шаблон"

Автор - Unbealiveble
Дата добавления - 29.09.2022 в 18:17
boa Дата: Четверг, 29.09.2022, 20:53 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 543
Репутация: 166 ±
Замечаний: 0% ±

2013, 365
Unbealiveble, здравствуйте
[vba]
Код
Sub Добавить_новый_проект()
Dim bFlag As Boolean
Dim oRng As Range
Dim oSh As Worksheet

  With Application: .ScreenUpdating = False: .EnableEvents = False
    With ThisWorkbook
      For Each oRng In .Worksheets("Список_проектов").Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
        For Each oSh In .Worksheets
          If oSh.Name = oRng.Value Then bFlag = True: Exit For
        Next oSh
        If Not (bFlag Or oRng.Value = "") Then
          .Worksheets("Шаблон").Copy After:=.Worksheets("Список_проектов")
          .Worksheets(.Worksheets("Список_проектов").Index + 1).Name = oRng.Value
          .Worksheets(oRng.Value).Visible = True
        End If
        bFlag = False
      Next oRng
      .Worksheets("Список_проектов").Activate
    End With
  .ScreenUpdating = True: .EnableEvents = True: End With
End Sub
[/vba]
К сообщению приложен файл: 9177816.xlsm(68.2 Kb)


 
Ответить
СообщениеUnbealiveble, здравствуйте
[vba]
Код
Sub Добавить_новый_проект()
Dim bFlag As Boolean
Dim oRng As Range
Dim oSh As Worksheet

  With Application: .ScreenUpdating = False: .EnableEvents = False
    With ThisWorkbook
      For Each oRng In .Worksheets("Список_проектов").Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
        For Each oSh In .Worksheets
          If oSh.Name = oRng.Value Then bFlag = True: Exit For
        Next oSh
        If Not (bFlag Or oRng.Value = "") Then
          .Worksheets("Шаблон").Copy After:=.Worksheets("Список_проектов")
          .Worksheets(.Worksheets("Список_проектов").Index + 1).Name = oRng.Value
          .Worksheets(oRng.Value).Visible = True
        End If
        bFlag = False
      Next oRng
      .Worksheets("Список_проектов").Activate
    End With
  .ScreenUpdating = True: .EnableEvents = True: End With
End Sub
[/vba]

Автор - boa
Дата добавления - 29.09.2022 в 20:53
Unbealiveble Дата: Пятница, 30.09.2022, 14:38 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Каеф! Спасибо! hands
 
Ответить
СообщениеКаеф! Спасибо! hands

Автор - Unbealiveble
Дата добавления - 30.09.2022 в 14:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание листов по шаблону из списка. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!