Вставка и удаление строк в VBA Excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
aks_sv
Сообщения: 53
Зарегистрирован: 30 окт 2007, 06:38

Имеется таблица с данными в которой периодически нужно вставлять и удалять строки, сохраняя формулы и форматирование. (см. пример)
Помогите упростить код.
Dim_ok
Сообщения: 51
Зарегистрирован: 03 июл 2007, 09:17

Можно вообще обойтись без кода. Выделить две строки содержащие название фирмы. Правой кнопочкой мыши на выделенной области щёлкаем, во всплывающем меню выбираем Скопировать. Правой кнопочкой мыши на выделенной области щёлкаем, во всплывающем меню выбираем Добавить скопированные ячейки. Теперь осталось изменить название фирмы. И судя по формулам в столбце Н, нужно заменить =H18/G18*G5 на =H$18/G$18*G5 и т.д.
Да, кстати, и данные первой фирмы у Вас не суммируются в общий итог, но мож это так надо....
aks_sv
Сообщения: 53
Зарегистрирован: 30 окт 2007, 06:38

Dim_ok,
&quot писал(а):Да, кстати, и данные первой фирмы у Вас не суммируются
Это, конечно, ошибка исправленный файл:пример
&quot писал(а):Можно вообще обойтись без кода
Можно, но:
во-первых это только пример, а таблица имеет гораздо больший размер, что уже не удобно, во-вторых после вставки строк все-равно нужно форматирование.
&quot писал(а):Правой кнопочкой мыши на выделенной области щёлкаем, во всплывающем меню выбираем Добавить скопированные ячейки.
За это спасибо: использую в коде
Dim_ok
Сообщения: 51
Зарегистрирован: 03 июл 2007, 09:17

ну форматирование то как раз ненужно, поскольку Вы вставляете скопированные ячейки с тем же форматом, а не осуществляете встаку "новых" строк
Да и для того чтобы удалить ненужную фирму, вы через код потратите время не меньше, чем удалить её сразу:
1 нажать кнопку удаления
2 найти в списке ненужную фирму ( а список у вас большой + еще и с пустыми строками, к тому же неотсортирован-стало быть что искать в нём, что в ячейках - нет разницы)
3 нажать ок ;-)
ну а вставка фирмы, я так понимаю делается внизу таблицы, куда можно сразу перейти, что тоже ничуть не дольше макроса (вся разница куда вносить название- в список или в ячейку)
Если конешно у таблицы есть какоето дальнейшее применение в расчётах, и вы не пользуетесь её результатами, то тут конешно есть смысл не "шарясь" что то получить и передать дальше.
aks_sv
Сообщения: 53
Зарегистрирован: 30 окт 2007, 06:38

Dim_ok,
Вот, что получилось:пример2
Спасибо за помощь.
Ответить