No Image

Копирование строк в excel по условию

СОДЕРЖАНИЕ
16 просмотров
05 мая 2020

Если нужно работать с определенной таблицей Excel, где имеется шаблон данных и из него часто нужно что-то куда-то копировать, то этот процесс можно автоматизировать. Так же пустые ячейки в этом шаблоне можно заполнять данными и копировать целый диапазон со всеми данными.

У меня была таблица с номенклатурой, в виде внутренней накладной, в которой было много позиций. Когда ко мне приходил монтажник, я выдавал некоторые позиции оборудования из этой таблицы, затем отмечал строку галочкой, чтобы она копировалась в отдельную таблицу – отчет о выданном оборудовании:

Данные помеченные галочкой напротив строки, скопировались в другой документ Excel:

Последняя ячейка с суммой 29621,4 была скопирована из ячейки, где прописана формула суммы.

Код VBA с комментариями

01 Сначала надо сделать такую фишку, чтобы при нажатии на ячейку в последнем столбце "Наличие", она выделялась галочкой и копировалась вся строка. В VBA на листе создаем функцию:

02 Теперь создаем модуль, который будет копировать строки, где поставили галочку. Данные копируются в последние пустые строки таблицы в другом документе на определенную страницу:

*Названия листов, путь для копирования в книгу, диапазон имен ячеек меняем на свои.

Конечно это можно сделать более сложными функциями, но сделал так, чтобы можно было через некоторое время вносить правки сильно не вникая в код. Так с помощью Excel VBA будут копироваться определенные строки, которые пометили галочкой в другую книгу Excel, в последние пустые строки.

Оптовикам нужен прайс в экселе, через который они смогут оформлять заказ. На одном листе находится большой каталог продукции, с характеристиками, ценами и наличием, где они проставляют цифру заказа – сколько штук им надо.

Читайте также:  Furby connect не подключается к приложению

Я хочу чтобы если в рамках диапазона присутствует число больше 0, передавать на второй лист экселя содержимое некоторых ячеек, относительно той, где число больше 0. А именно – размер, цвет, стоимость, модель и прочее.

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

Можно ли это сделать в экселе (он генерируется через PHPexcel) и если да – то как?

Итог: Изучите 3 различных способа копирования и вставки ячеек или диапазонов в Excel с помощью макросов VBA. Это серия из трех частей, также вы сможете скачать файл, содержащий код.

Уровень мастерства: Начинающий

Копировать и вставить: наиболее распространенное действие Excel

Копирование и вставка, вероятно, является одним из самых распространенных действий в Excel. Это также одна из самых распространенных задач, которые мы автоматизируем при написании макросов.

Есть несколько различных способов выполнить эту задачу, и устройство записи макросов не всегда дает вам наиболее эффективный код VBA.

В следующих трех видео я объясняю:

  • Самый эффективный метод для простого копирования и вставки в VBA.
  • Самый простой способ вставить значения.
  • Как использовать метод PasteSpecial для других типов вставок.

Вы можете скачать файл, который я использую в этих видео ниже. Код также доступен внизу страницы.

VBA Copy Paste.xlsm (91.7 KB)

Видео № 1: Простой метод «Копировать-вставить»

Видео лучше всего просматривать в полноэкранном HD.

Видео № 2: Простой способ вставить значения

Видео № 3: Метод PasteSpecial

Скачать файл с примерами

Загрузите книгу, содержащую все примеры из видео.

VBA Copy Paste.xlsm (91.7 KB)

Вставить данные ниже последней заполненной строки

Один из самых распространенных вопросов, которые я получаю о копировании и вставке с помощью VBA: «Как мне вставить данные в конец таблицы? «

Сначала нужно найти последнюю заполненную строку данных, а затем скопировать и вставить ниже неё.

Комментировать
16 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock
detector