Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Создать 1000 копий листов
 
доброго времени суток уважаемые форумчане
как быстро создать 1000 копию(клон) одного листа ?
 
Написать макрос, в котором циклом повторить 1000 раз операцию копирования.
А как Вы собираетесь работать с таким количеством листов? Да и хватит ли памяти на такое количество...
 
Записать макрорекордером копирование листа и завернуть получившийся код в цикл на 1000 интераций. Вот только зачем Вам 1000 одинаковых листов? Может задача решается другим, более рациональным, способом?
Согласие есть продукт при полном непротивлении сторон.
 
Цитата
Юрий М написал: Написать макрос
а можно макрос позаимствовать у Вас ? памяти думаю хватит (пока не попробую не узнаю ))) )

Цитата
Sanja написал: Вот только зачем Вам 1000 одинаковых листов?
задача простая....ввести учет дебиторов
на крайний случай можно не 1000 а 100
 
Цитата
max-aziat написал: ввести учет дебиторов
Учет ведите в ОДНОЙ, плоской таблице (1 млн. строк Вам хватит?), а вот отчеты по каждому (или по нескольким) составляйте Сводными таблицами, PQ, макросами и прочими инструментами Excel
Согласие есть продукт при полном непротивлении сторон.
 
Добрый день!
В модуль
Код
Sub copyws()
For i = 1 To 1000
    Sheets("Лист1").Copy After:=Sheets(1)
    Next
End Sub
 
спасибо огромное
модуль/макрос работает, но можно его немного усовершенствовать ?
при выполнение макроса листы дублируются , но вот имена ( получаются  1(2),  1(3),  1(4), ......,1(101)  )
можно сделать так, что бы имена были по возрастанию (1,2,3,..., 100) ?  

заранее благодарен
 
Код
Sub copyws()
For i = 1 To 1000
    Sheets("Лист1").Copy After:=Sheets(Sheets.Count)
    Next
End Sub
 
Цитата
Sanja написал: Может задача решается другим, более рациональным, способом?...
Учет ведите в ОДНОЙ, плоской таблице
прислушайтесь.
 
Код
Sub СopySheets()
    Application.ScreenUpdating = False
    For i = 1 To 10 ' Вместо 10 напишите нужное количество
        Sheets("Лист1").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = i
    Next
    Application.ScreenUpdating = True
End Sub

 
Цитата
vikttur написал: прислушайтесь.
готов выслушать  Ваше предложение/идеи
 
В другой теме, где опишете задачу. А в общем Вам предложили - вести учет  в одной таблице
 
Для количеств кратных 2, здесь для 32. С именами, правда, беда :)
Код
Sub hh()
Dim i&
  For i = 0 To 4
    Sheets(Evaluate("TRANSPOSE(ROW(R1:R" & 2 ^ i & "))")).Copy , Sheets(2 ^ i)
  Next
End Sub
Изменено: Казанский - 10 Сен 2018 13:20:43
 
Цитата
Юрий М написал:
Sub СopyShets()    
Application.ScreenUpdating = False    
For i = 1 To 10 ' Вместо 10 напишите нужное количество        
Sheets("Лист1").Copy After:=Sheets(Sheets.Count)        
ActiveSheet.Name = i    
Next    
Application.ScreenUpdating = TrueEnd Sub

спасибо работает на все 100%

всем большое спасибо за помощь
Изменено: max-aziat - 10 Сен 2018 13:26:36
 
Горе-цитата зачем?
 
max-aziat, не нужно цитировать - я помню свой код )
 
Казанский,

извините, не понял
 
vikttur,
Юрий М,
извините
 
Цитата
max-aziat написал: готов выслушать  Ваше предложение/идеи
vikttur, Вам советует прислушаться к моему совету (извините за тавтологию) из сообщения 5
Согласие есть продукт при полном непротивлении сторон.
Страницы: 1
Читают тему (гостей: 1)
Наверх