Новости:

Название темы должно отражать суть задачи.
Темы типа "ПОМОГИТЕ!!!", "Срочно!" и т.п. будут удаляться без объяснения причин

Главное меню

Макрос для вставки строки в определенное место таблицы

Автор Lexa.inc, 28.02.2017, 02:24:13

« назад - далее »

Lexa.inc

Здравствуйте, уважаемые профессионалы. Есть проблема (описал наглядно в приложенном файле). Перерыл весь интернет, решения не смог найти. Возможно я неверно формулирую задачу. Может кто-то сталкивался с таким случаем? Буду очень благодарен.

kuklp

Public Sub www()
    Dim n&
    n = [c65536].End(xlUp).Row
    Range(Cells(n, 2), Cells(n, 10)).Copy
    Cells(n + 1, 2).Insert xlDown
    Range(Cells(n + 1, 6), Cells(n + 1, 7)).ClearContents
End Sub

kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728

Дмитрий Щербаков(The_Prist)

Цитата: Lexa.inc от 28.02.2017, 02:24:13Может кто-то сталкивался с таким случаем?
На будущее - раз в сообщении спрашиваете про случай, то хоть описывайте вкратце что за случай. Да и в правилах написано - в сообщении должна быть отражена суть проблемы более развернуто. А Вы всех в файл отсылаете. Сами себе помощь таким образом урезаете.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Lexa.inc

kuklp, большое спасибо! То что надо!

The_Prist, принял) В данном случае проблема была как раз с отражением сути. Не смог сформулировать, так чтоб было понятно, что я хочу донести.

Lexa.inc

Возникла еще она трудность: Возможно ли сделать, что бы формула в ячейке H12 менялась, т.е к расчету добавлялась вновь вставленная строка? Ну и еще что бы линия, что сверху строки "Вырез" оставалась одна и не копировалась?)

Картинку прилагаю


Дмитрий Щербаков(The_Prist)

#5
Цитата: Lexa.inc от 28.02.2017, 12:53:32Возникла еще она трудность
Смотрите. Т.к. в заголовке темы речь про вставку строк - то изменение формулы в H12 вообще сюда никак не вписывается. А значит согласно правил надо создавать новую тему. Хотя я и понимаю, что это все взаимосвязано - но раз сами решили "упростить" себе жизнь и не формулировать задачу - то пожинайте плоды. нет связи последнего сообщения с вопросом темы, т.к. вопроса как такового нет...
Цитата: Lexa.inc от 28.02.2017, 11:49:22В данном случае проблема была как раз с отражением сути
А на этот счет в правилах есть отсылка: Зачем темам давать осмысленное название?
Я очень подробно там описал, как бороться с проблемами формирования сути.
Поэтому лично моя просьба: ознакомьтесь с правилами и не усложняйте. Никто не знает суть проблемы лучше Вас. Вам просто лень эту суть сформулировать, как бы Вы это не отрицали.
Постарайтесь уяснить это при создании следующей темы.

Что же до решения. В принципе надо сделать лишь одно - вставлять строку "внутрь" диапазона суммирования, а не после него:
Sub add()
   Dim n&
   n = [c65536].End(xlUp).Row
   Range(Cells(n, 2), Cells(n, 10)).Copy
   Cells(n, 2).Insert xlDown
   Range(Cells(n + 1, 6), Cells(n + 1, 7)).ClearContents
End Sub

это заставить формулу "растянуться" автоматом сразу после вставки строки.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Lexa.inc

The_Prist, все верно сказали, было некогда (иначе говоря лень) формулировать суть. Не отрицаю.

Чтож до решения, то да, проще всего сделать вставку внутрь диапазона. Изначально у меня макрос так и работал -  вставлял новые строки после второй(фиксированной) строки, т.е. была  указана конкретная строка, она копировалась и вставлялась следом. Но вся суть проблемы, собсно, была сделать макрос, который бы вставлял новую строку с конца списка, как бы по логике, чтобы не нарушать нумерации добавления строк.

Дмитрий Щербаков(The_Prist)

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

Lexa.inc

#8
Разобрался! Да, Вы правы, все работает как надо. Изначально не вник(
Спасибо!

Яндекс.Метрика Рейтинг@Mail.ru