Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Создание макроса повторяющего исходный лист, По имеющемуся листу создать макрос , повторяющий этот лист
 
Имеется лист  с заполнеными ячейками. Надо создать макрос , который после работы создаст из чистого листа копию исходного.
То есть я открываю чистый лист. Запускаю макрос. Получаю исходный лист.

Я включил запись макросов и стал повторять все что есть на исходном листе. Но скоро эта рутина надоела.
Как максимально быстро создать такой макрос? То есть он должен не копировать исходный лист , а сам создавать этот лист с нуля.
 
А Ctrl+C, Ctrl+V уже не модно?
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
rusvalera65, а каков смысл сего действа, если в результате нужно получить копию листа?
 
Прапорщик сказал что копаем отсюда и до обеда. После обеда закапываем. Так что по существу?
Изменено: rusvalera65 - 15 Апр 2018 16:01:15
 
Поможет запись рекордером копирования и последующей специальной вставки (ширина столбцов, форматы, значения) на новый лист.
Только результат ничем не будет отличаться от копии листа. Передайте это прапорщику.
 
Копия листа есть? Есть.
Макрос есть? Есть.
Кто скажет, что это девочка, пусть первым бросит в меня камень.  :)
Код
Sub Макрос2()
'
' Макрос2 Макрос
'

'
    Sheets("Лист8").Select
    Sheets("Лист8").Copy Before:=Sheets(1)
End Sub
 
Код
Sub MakeActShtCopy()
  ActiveSheet.Copy
End Sub
макрос для получения копии активного листа
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Это лукавство. Исходный лист можно использовать лишь для быстрого создания макроса. Далее исходным листом пользоваться нельзя. Макрос должен сам присваивать ячейкам данные

По исходнику делаем макрос. Дальше исходный лист стираем для верности. Запускаемых макрос и лист готов. Прапорщик хочет ходить с макросом без листов.
Изменено: rusvalera65 - 15 Апр 2018 16:48:40
 
Цитата
rusvalera65 написал:
Исходный лист можно использовать лишь для быстрого создания макроса
Для создания? Поясните свою мысль и попробуйте переформулировать задачу.
 
Прапорщик приходит с одним только макросом в книге. Все листы чистые.
запускает макрос и получает лист исходника. Исходником можно пользоваться как
шаблоном для создания макроса
 
Цитата
rusvalera65 написал:
Прапорщик хочет ходить с макросом без листов.
Тогда пилите, Шура, пилите! И даже не до обеда. До ужина бы справиться.  :D

Юр,
Код
With Sheets.add

Далее форматируем и заполняем.
Изменено: RAN - 15 Апр 2018 16:56:04
 
В приведенных примерах макрос использует исходный лист.
Если стереть исходный лист то макрос ничего не скопирует.
Чтобы ячейки запомнились значениями надо чтобы в макросе
появились операции присвоения ячейкам определённых значений.
 
Цитата
rusvalera65 написал:
Все листы чистые. запускает макрос и получает лист исходника.
И чем Вас не устраивают предложенные варианты?
И я просил пояснить вот это: быстрое создание макроса. Что под этим понимаете?
 
Вопрос в том как быстро перенести в макрос операции присваивания ячейкам нужных значений.
Их много и значений много.
 
Варианты:
1. Скопировать диапазон - вставить.
2. Скопировать лист.
3. Забрать с первого листа диапазон в массив и затем выгрузить этот массив на второй лист.
Вопрос: чем не устраивают ранее предложенные варианты?
Ваши сообщения очень похожи на троллинг.
 
Если я рекодером скопирую лист и сделаю вставку в другой лист. При этом
в макросе пропишутся операции присвоения ячейкам нужных значений?
 
Ага, заполнение чисого листа с нуля - уже не то.
Создать скрытый лист, на котором хранить все изменения. С него и копировать данные.
 
Рекордер ничего не копирует - он ЗАПИСЫВАЕТ Ваши действия.
 
Доброе время суток.
Цитата
rusvalera65 написал:
Если стереть исходный лист то макрос ничего не скопирует.
Да, не проблема, вы можете иметь лист-шаблон в отдельной книге и использовать его при создании макросом  нового листа.
Код
    Dim calcSheet As Worksheet
    set calcSheet=activeworkbook.Sheets.Add(Type:="c:\path\template1.xlsx")

Цитата
rusvalera65 написал:
Вопрос в том как быстро перенести в макрос операции присваивания ячейкам нужных значений.
Тогда нужно создавать новую тему, так как текущая
Цитата
Создание макроса повторяющего исходный лист,
 
И вообще, макрос без листов - это не макрос, а VBS скрипт. Ибо книги Excel без листов не бывает.
 
:evil: RAN, что там ,что там скрипт. :evil:     :)  
 
rusvalera65, #17 видели?
P.S. А никто не заметил ничего интересного в имени файла из #1?  
На пару недель тема запоздала - прапорщику нужен макрос в книге без листов  :)  
Страницы: 1
Читают тему (гостей: 1)
Наверх