Страницы: 1
RSS
как одновременно скопировать лист N раз и присвоить копиям имена из списка
 
Добрый день!  
Вопрос в следующем: мне необходимо скопировать лист N раз, но имена присвоить из имеющегося списка. Как это можно сделать?  
 
Использую функцию PLEX "Создание книги с листами из диапазона ячеек", но там решается только часть задачи - возможно ли добавить в нее необходимый функционал?  
 
пс: и можно ли переименовывать вкладки, основываясь на значении ячейки, скажем, А1? то есть если в ячейке А1 выбрать какое-то значение, оно автоматически присваивалось бы имени вкладки?
 
Одновременно не получится: придётся циклом перебирать список и присваивать текущее значение списка новому листу.
 
Юрий, вы не могли бы попроще объяснять - как это сделать?
 
У Вас противоречивые условия: сначала скопировать N раз присвоив каждому новому листу имя из списка, затем разовое копирование и с именем из ячейки А1. Попроще - как? Нужно написать макрос. По Вашим данным.
 
это два вопроса, просто я поместила их в одну тему, потому что они непосредственно связаны.  
 
соответственно,  
вопрос 1  
как можно скопировать лист N раз, присвоив имена из имеющегося списка?
 
{quote}{login=mak}{date=29.08.2012 08:58}{thema=}{post}вопрос 1  
как можно скопировать лист N раз, присвоив имена из имеющегося списка?{/post}{/quote}Повторяю ответ - циклом перебирать список и присваивать текущее значение списка новому листу.
 
:(    
Извините, но я вообще не понимаю, о чем речь(  
Как это технически сделать?
 
mak, что бы что сделать, нужно иметь данные (список). У меня этих данных нет.
 
Да любой файл. Пример в приложении.
 
Вот.
 
Забыл назначить кнопке макрос :-) Выполните это сами: правый клик по кнопке - назначить макрос (он там в списке будет один).
 
Юрий, ещё есть косячок - точку перед cells забыл в строке  
LastRow = Cells(Rows.Count, 1).End(xlUp).Row  
Да и ну её вообще эту кнопку - листы ведь с нею копируются :(  
Или лучше её на лист со списком переместить - там мешать не будет.
 
Такой вариант кода Юрия:  
 
 
Sub tt()  
   Dim nn  
   For Each nn In Sheets("список").[a1].CurrentRegion.Cells
       Sheets("скопировать").Copy After:=Sheets(Sheets.Count)  
       Sheets(Sheets.Count).Name = nn.Value  
   Next  
End Sub
 
{quote}{login=Hugo}{date=29.08.2012 10:32}{thema=}{post}Юрий, ещё есть косячок - точку перед cells забыл в строке  
LastRow = Cells(Rows.Count, 1).End(xlUp).Row  
Да и ну её вообще эту кнопку - листы ведь с нею копируются :(  
Или лучше её на лист со списком переместить - там мешать не будет.{/post}{/quote}Согласен :-) Переделал.
 
огромное спасибо за помощь!
Страницы: 1
Читают тему
Наверх