0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
1

Создание листа в книге в виде шаблона

18.04.2014, 14:13. Показов 2471. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, форумчане!

По работе необходимо делать однообразные действия. Но чет никак сообразить не могу, да и язык(VBA) знаю так себе. Поэтому прошу помощи у Вас!

Есть некий список со значениями(допустим 10, но может быть и больше) на листе1, есть шаблон, в который нужно вставить каждое из значений. В итоге должна получится книга состоящая из Лист1(список значений) + 10 листов с шаблонами, в которых будут фигурировать(в одной из ячеек, например А2) значения из списка.

Пример того чего необходимо достичь:
Лист1 - Список значений
Лист2 - Шаблон со значением1 из А1 на Листе1, в ячейке А2
Лист3 - Шаблон со значением2 из А2 на Листе1, в ячейке А2
Лист4 - Шаблон со значением3 из А2 на Листе1, в ячейке А2

и т.д.

Примерное описание процесса:

Есть книга, в ней один лист, на котором в столбце А находится список. Необходим цикл, который бы перебирал этот список до конца(пустой ячейки) и останавливался. Действия такие, смотрим в первую ячейку из списка, если пустая заканчиваем макрос, если не пустая создаем новыq лист на котором будет шаблон под названием "rabota", копируем значение из списка на первом листе и вставляем в созданный лист в ячейку А2(например). Переходим к следующей ячейке из списка на первом листе, с проверкой на наличия в нем значения, для продолжения процесса, либо остановки.



Имя файла и листов неважно, потом это все распечатается и удалится

Надеюсь описал понятно.
Заранее огромнейшее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2014, 14:13
Ответы с готовыми решениями:

Создание нового листа в активной книге
Примеры двух макросов. Верхний с учебника - НЕ рабочий. Выдает ошибку 438 (Object doesn't support...

Создание листа в рабочей книге Excel
Мне надо экспортировать данные из запроса в один экселевский файл, причём каждую запись на новый...

Работа с Excel. Создание листа в книге по шаблону
Доброго времени суток. Прошу помочь с вопросом: Есть некоторая книга Ecxel из 2-х листов (а и b) с...

Excel 2003. Создание шаблона листа
Возможно ли в Excel 2003 создать шаблон не книги, а конкретного ее листа, чтобы можно было в уже...

10
Модератор
Эксперт MS Access
11955 / 4823 / 779
Регистрация: 07.08.2010
Сообщений: 14,126
Записей в блоге: 4
18.04.2014, 14:23 2
Имя файла и листов неважно, потом это все распечатается и удалится
а нужны ли эти 10 листов
и где шаблон

например столбец а содержит 1 - 2 -3-4-5-6
создаем листы 1 ,2,3,4,5,6
а что туда пишем?
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
18.04.2014, 14:37  [ТС] 3
Цитата Сообщение от shanemac51 Посмотреть сообщение
Имя файла и листов неважно, потом это все распечатается и удалится
а нужны ли эти 10 листов
и где шаблон
например столбец а содержит 1 - 2 -3-4-5-6
создаем листы 1 ,2,3,4,5,6
а что туда пишем?
Листы нужны, для беглой проверки.

Шаблон стандартный, просто не знаю как "программно" его вставить на новый лист, либо добавить его в книгу в виде нового листа.

Пример того чего необходимо достичь:
Лист1 - Список значений
Лист2 - Шаблон"rabota" со значением1 из А1 на Листе1, в ячейке B2
Лист3 - Шаблон"rabota" со значением2 из А2 на Листе1, в ячейке B2
Лист4 - Шаблон"rabota" со значением3 из А3 на Листе1, в ячейке B2

и т.д.
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
18.04.2014, 14:40  [ТС] 4
Пример
Вложения
Тип файла: xlsx TEST.xlsx (10.6 Кб, 16 просмотров)
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
18.04.2014, 14:42 5
Лучший ответ Сообщение было отмечено Андреас-сус как решение

Решение

Пример не смотрел
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub bb()
Const T_NAME = "шаблон" 'имя листа-шаблона, он может быть скрыт
Dim tVis, tSh As Object, x
Set tSh = Worksheets(T_NAME)
tVis = tSh.Visible
tSh.Visible = xlSheetVisible
For Each x In Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value
  tSh.Copy after:=ActiveSheet
  Range("A2") = x
Next
tSh.Visible = tVis
End Sub
1
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
18.04.2014, 14:58  [ТС] 6
Цитата Сообщение от Казанский Посмотреть сообщение
Пример не смотрел
Спасибо за помощь.

Скрипт не работает, пишет "Subscript out of range"
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
18.04.2014, 15:04 7
Попробуй вставить 7-й строкой:
Visual Basic
1
tSh.Activate
и заменить 7 строку на:
Visual Basic
1
For Each x In tSh.Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value
2
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
18.04.2014, 15:06 8
toiai, не то.

Цитата Сообщение от Андреас-сус Посмотреть сообщение
пишет "Subscript out of range"
2-ю строку кода внимательно прочитайте.
1
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 5
18.04.2014, 15:25  [ТС] 9
Цитата Сообщение от Казанский Посмотреть сообщение
2-ю строку кода внимательно прочитайте.
Видимо косяк с шаблоном какой то.

упрощенная схема без шаблона:

Есть книга, в ней один лист, на котором в столбце А находится список и в диапазоне С1-H10 находится форма(шаблон). Необходим цикл, который бы перебирал этот список до конца(пустой ячейки) и останавливался. Действия такие, смотрим в первую ячейку из списка, если пустая заканчиваем макрос, если не пустая создаем новый лист на который копируем форму(шаблон) из первого листа(диапазон С1-H10), копируем значение из списка на первом листе и вставляем в созданный лист в ячейку А2(например). Переходим к следующей ячейке из списка на первом листе, с проверкой на наличия в нем значения, для продолжения процесса, либо остановки.
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
18.04.2014, 15:29 10
Лучший ответ Сообщение было отмечено Андреас-сус как решение

Решение

Какой косяк? Я поменял имя шаблона на "Лист2" - и пожалуйста!
Вложения
Тип файла: xls TEST (2).xls (34.0 Кб, 26 просмотров)
1
761 / 268 / 57
Регистрация: 13.12.2009
Сообщений: 1,101
18.04.2014, 15:38 11
На листе 2 записи. Лист 1 шаблон.
Вложения
Тип файла: xls работа.xls (41.5 Кб, 19 просмотров)
0
18.04.2014, 15:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2014, 15:38
Помогаю со студенческими работами здесь

При создании нового листа произвести проверку на существование вводимого имени листа в текущей книге EXCEL
При создании нового листа, произвести проверку на существование вводимого имени листа в текущей...

Сохранение текущего листа с сохранением имени листа и присвоением новой книге имени текущего листа
Sub Save_as() With Application.FileDialog(msoFileDialogSaveAs) .InitialFileName =...

Снятие защиты листа в книге
Пишу программу, по сборы данных из разных книг в одну,всё бы ничего, но лист который мне нужен...

Единократный пересчет листа в книге xls
Здравствуйте, господа программисты. Подскажите - как с помощью VBScript - в определенной уже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru