Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/88: Рейтинг темы: голосов - 88, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 27
Excel

Копировать содержимое листа одной книги, на лист в новую книгу с присвоением ей имени листа из которого копировали

31.07.2019, 16:19. Показов 18530. Ответов 24

Студворк — интернет-сервис помощи студентам
Всем доброго дня!
Помогите пожалуйста написать код, сам не могу написать по причине отсутствия знаний.
Есть книга с именем "Заказы на производства". В ней имеются 3 листа, в каждом листе формируется бланк-заказа на то или иное производство.
Нужен код который копирует данные (значения и формат таблиц) с активного листа (без кода в модуле листа), и вставляет эти данные во вновь созданную книгу. Причем имя у книги соответствует имени листа из которого копировали данные. Новую книгу закрывать не нужно.

Наверное слишком запутанно все описал.
Очень надеюсь на помощь.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.07.2019, 16:19
Ответы с готовыми решениями:

Копирование строки с данными из листа одной книги в лист другой книги
Никак не получается написать код, который бы копировал только вторую строку с данными из листа одной книги в лист другой книги. Помогите...

Как скопировать данные с активного листа книги в новую книгу?
Как можно программно скопировать данные из активного листа одной книги во вновь созданную?

Перенос данных с одного листа одной книги на другой лист другой книги с константой
Добрый вечер, товарищи! Есть прайс-лист, который содержит в себе много колонок и строк. На ежедневной основе мне приходится распределять...

24
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 27
31.07.2019, 20:09  [ТС]
Студворк — интернет-сервис помощи студентам
Выдало ошибку:
Миниатюры
Копировать содержимое листа одной книги, на лист в новую книгу с присвоением ей имени листа из которого копировали  
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
31.07.2019, 20:13
Ivanov_Sergey, в предыдущих посланиях (и не только у меня) было сохранение с именем листа. Ну и добавьте полный путь, если надо.
Visual Basic
1
[quote="Burk;13746932"]строку 12 уберите, пропустил[/quote]
Добавлено через 3 минуты
Ivanov_Sergey, какого мы толчем воду в ступе, ну и кто бы догадался, что у вас есть объединенные ячейки. Файл какой-нибудь укороченный нужен. Потребуется копирование структуры, с этим не возился, но посмотрю. Думаю и коллеги подскажут. Файл в студию! И не думаю, что миниатюры самый удобный вариант, тем более, что по правилам форума это не приветствуется
1
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 27
31.07.2019, 20:28  [ТС]
Burk, убрал 12 строку, но выдало опять ошибку.
Я еще раз посмотрел рабочий код, после Ваших советов он работает хорошо.
Но мне хочется чтобы название у новой книги было как у копируемого листа.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub VigruzkaZakaza()
 
Application.ScreenUpdating = False
 Dim New_Wb As Workbook
    Set New_Wb = Workbooks.Add
    New_Wb.Activate
    New_Wb.SaveAs ("D:\" & ThisWorkbook.ActiveSheet.Range("A1") & ".xlsx")
    'New_Wb.Close
    
'копирую данные с листа
    Workbooks("Заказы-производства.xlsm").Activate
    ActiveSheet.Cells.Copy
    'Cells.Select
'Selection.Copy
  Workbooks("Бланк-Заказ.xlsx").Activate
    Cells.Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    
        
End Sub
Добавлено через 3 минуты
Цитата Сообщение от Burk Посмотреть сообщение
Ivanov_Sergey, какого мы толчем воду в ступе, ну и кто бы догадался, что у вас есть объединенные ячейки. Файл какой-нибудь укороченный нужен. Потребуется копирование структуры, с этим не возился, но посмотрю. Думаю и коллеги подскажут. Файл в студию! И не думаю, что миниатюры самый удобный вариант, тем более, что по правилам форума это не приветствуется
Зная что достал! Бросаем это дело.
Я очень Вам благодарен.
Просто сам файл не могу отправить, к нему подтянуто очень много других файлов (все на запросах построено).
Откроется без обновлений.

Огромное Вам спасибо. По факту задача выполнена. Более чем на 100%
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
01.08.2019, 05:36
Ivanov_Sergey, а где строчки с сохранением нового файла, после 11 строки должно стоять
Visual Basic
1
2
3
n = ActiveWorkbook.Sheets(1).Name
'а перед 23
ActiveWorkbook.SaveAs ИмяПапки & n & ".xlsx", xlWorkbookNormal
А всё, что связано с вашим файлом присылать не надо. Надо только его хотябы с одной страничкой и убрать все ссылки на другие файлы и страницы.

Добавлено через 1 час 46 минут
Ivanov_Sergey, а вот так все ваши проблемы с объединенными ячейками да и с другими, видимо, снимутся. Почитайте по этой ссылке http://yandex.ru/clck/jsredir?... me=2961998
На её основе сделал новый макрос, который тупо копирует страницу со всеми потрохами, а потом в этой копии убирает код листа.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub VigruzkaZakaza2()
    Application.ScreenUpdating = False
    Dim New_Wb As Workbook, K As Integer
    Set New_Wb = Workbooks.Add
    K = New_Wb.Sheets.Count + 2 'номер копии в новой книге
'   копирую данные с листа
 
    Workbooks("Заказы-производства.xlsm").Activate
    n = ActiveWorkbook.Sheets(1).Name
    Sheets(1).Copy Before:=New_Wb.Sheets(1)
    New_Wb.Activate
    
    StartLine = 1
    EndLine = New_Wb.VBProject.VBComponents(K).CodeModule.CountOfLines
    New_Wb.VBProject.VBComponents(K).CodeModule.DeleteLines StartLine, (EndLine - StartLine + 1)
    Application.CutCopyMode = False
     Application.ScreenUpdating = True
    Application.CutCopyMode = False
End Sub
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
04.08.2019, 04:34
Ivanov_Sergey, я посылал вам файл, он помог или тоже проблемы?
Вложения
Тип файла: rar Заказы-производства_020819(B).rar (151.6 Кб, 20 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.08.2019, 04:34

Как копировать лист с сохранением формата печати листа?
Вообщем я сам знаю: для этого надо передать все свойства: ActiveSheet.PageSetup.xxxxxx Проблема в том, что их около 20. Писать 20...

Подскажите, как копировать формулы с ячеек листа екселя на другой лист
Пробовал по разномуWorksheets("Main").Cells(r , k) = Worksheets(List).Cells(r , k) копирует значение, но не формулу, потом попробовал по...

Копировать строку с листа на лист при внесении изменений в ячейку в этой строке
я - сантехник, частенько приходится обсчитывать работы и материалы. как в экселе перенести строку с одного листа 1 на лист 2 при условии,...

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

Копирование листа и вставка его в ту же книгу с заданием имени
Уважаемые форумчане, нужна ваша помощь Ситуация следующая: Есть цикл, который перебирает каждую строчку(лист1) с данными и заносит...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru