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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое создание листов по данным столбца - Мир MS Excel

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

Excel 2007
Добрый день! Помогите написать макрос, который бы создавал новый лист для каждой специальности из файла "Стоимость обучения", и в каждом новом листе ссылки в формулах, отмеченных желтым цветом в файле "ВПО", спускались бы на 1 (одну) позицию вниз. Все остальные формулы рассчитываются автоматически. Шаблон для первой специальности я создал. Названия листов можно именовать просто 1,2,3. Я потом переименую сам кратко.
К сообщению приложен файл: 8328684.xlsx (40.1 Kb) · 4424463.xlsx (36.2 Kb)
 
Ответить
СообщениеДобрый день! Помогите написать макрос, который бы создавал новый лист для каждой специальности из файла "Стоимость обучения", и в каждом новом листе ссылки в формулах, отмеченных желтым цветом в файле "ВПО", спускались бы на 1 (одну) позицию вниз. Все остальные формулы рассчитываются автоматически. Шаблон для первой специальности я создал. Названия листов можно именовать просто 1,2,3. Я потом переименую сам кратко.

Автор - Мурад
Дата добавления - 21.05.2015 в 15:48
Мурад Дата: Четверг, 21.05.2015, 15:49 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Третий файл не поместился в 1 посте


Сообщение отредактировал Мурад - Четверг, 21.05.2015, 15:51
 
Ответить
СообщениеТретий файл не поместился в 1 посте

Автор - Мурад
Дата добавления - 21.05.2015 в 15:49
Мурад Дата: Четверг, 21.05.2015, 15:51 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Вот здесь все 3 файла.
К сообщению приложен файл: 5686062.7z (76.8 Kb)
 
Ответить
СообщениеВот здесь все 3 файла.

Автор - Мурад
Дата добавления - 21.05.2015 в 15:51
Мурад Дата: Четверг, 21.05.2015, 17:36 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
[vba]
Код
For I = 1 To 131
      On Error Resume Next
      ThisWorkbook.Sheets(I).Activate
      ThisWorkbook.Worksheets.Add.Name = I + 1
      ThisWorkbook.Sheets(I + 1).Activate
      Range("B11").Select
      ActiveCell.FormulaLocal = ???
[/vba]

Может быть так? вот только как вставить после равно формулу
Код
=двссыл('[Стоимость обучения.xlsx]Приложение 1'!$B$i+2)


Сообщение отредактировал Мурад - Четверг, 21.05.2015, 17:37
 
Ответить
Сообщение[vba]
Код
For I = 1 To 131
      On Error Resume Next
      ThisWorkbook.Sheets(I).Activate
      ThisWorkbook.Worksheets.Add.Name = I + 1
      ThisWorkbook.Sheets(I + 1).Activate
      Range("B11").Select
      ActiveCell.FormulaLocal = ???
[/vba]

Может быть так? вот только как вставить после равно формулу
Код
=двссыл('[Стоимость обучения.xlsx]Приложение 1'!$B$i+2)

Автор - Мурад
Дата добавления - 21.05.2015 в 17:36
Мурад Дата: Пятница, 22.05.2015, 09:51 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Создал код, но все операции он проводит на одном листе. Новые листы не создает...
[vba]
Код
Sub Spec()
     Dim I As Integer
     For I = 1 To 131
     On Error Resume Next
     ThisWorkbook.Sheets("I").Activate
     Range("B6").Select
     ActiveCell.Value = I + 1
     ThisWorkbook.Worksheets.Add.Name = I + 1
     Next
End Sub
[/vba]
 
Ответить
СообщениеСоздал код, но все операции он проводит на одном листе. Новые листы не создает...
[vba]
Код
Sub Spec()
     Dim I As Integer
     For I = 1 To 131
     On Error Resume Next
     ThisWorkbook.Sheets("I").Activate
     Range("B6").Select
     ActiveCell.Value = I + 1
     ThisWorkbook.Worksheets.Add.Name = I + 1
     Next
End Sub
[/vba]

Автор - Мурад
Дата добавления - 22.05.2015 в 09:51
nilem Дата: Пятница, 22.05.2015, 10:43 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Мурад, привет
попробуйте так
[vba]
Код
Sub Spec()
Dim i As Integer
For i = 1 To 8
     If Not Evaluate("ISREF('" & i & "'!A1)") Then
         Sheets.Add(after:=Sheets(Sheets.Count)).Name = i
     Else
         Sheets(CStr(i)).Activate
     End If
     Range("B6").Value = i + 1
Next
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеМурад, привет
попробуйте так
[vba]
Код
Sub Spec()
Dim i As Integer
For i = 1 To 8
     If Not Evaluate("ISREF('" & i & "'!A1)") Then
         Sheets.Add(after:=Sheets(Sheets.Count)).Name = i
     Else
         Sheets(CStr(i)).Activate
     End If
     Range("B6").Value = i + 1
Next
End Sub
[/vba]

Автор - nilem
Дата добавления - 22.05.2015 в 10:43
Мурад Дата: Пятница, 22.05.2015, 11:51 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
nilem, привет!
Спасибо, все работает. Листы создаются по возрастанию. Правда я внес небольшие корректировки.
Вначале создал макросом 132 пустых листа. Затем скопировал вручную весь первый лист, сгруппировал все 132 листа, вставил содержимое шаблона во все остальные листы. Затем снова запустил макрос, в котором лишь автоматически проставлялась нумерация 1, 2, ...., 132 в каждый лист в ячейку B6. Формулы автоматически подхватили эту цифру в виде ссылки ДВссыл(...) и ... вуаля)
 
Ответить
Сообщениеnilem, привет!
Спасибо, все работает. Листы создаются по возрастанию. Правда я внес небольшие корректировки.
Вначале создал макросом 132 пустых листа. Затем скопировал вручную весь первый лист, сгруппировал все 132 листа, вставил содержимое шаблона во все остальные листы. Затем снова запустил макрос, в котором лишь автоматически проставлялась нумерация 1, 2, ...., 132 в каждый лист в ячейку B6. Формулы автоматически подхватили эту цифру в виде ссылки ДВссыл(...) и ... вуаля)

Автор - Мурад
Дата добавления - 22.05.2015 в 11:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое создание листов по данным столбца (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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