Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос копирования строк n-ое количество раз ниже непустых - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос копирования строк n-ое количество раз ниже непустых (Формулы/Formulas)
Макрос копирования строк n-ое количество раз ниже непустых
Markovich Дата: Среда, 04.11.2020, 13:35 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Здравствуйте, уважаемые форумчане! Большое вам спасибо за этот форум, за вашу открытость и готовность помочь в решении непосильных для многих любителей excel задач. Затрудняюсь сосчитать сколько почерпнул здесь полезных решений. Сразу скажу что в макросах не силен, но нужно осилить задачу. Есть таблица, в которую заносятся данные по объектам, количество заполняемых строк может быть от 50 и более 2000. В таблице данные анализируются и просчитываются множеством формул и также с использованием условного форматирования. Из-за большого количества строк с формулами таблица тормозит. Соответственно заготовка таблицы рассчитана на большое количество вводимых данных. Если вводимых данных пара десятков, то оставшаяся пара тысяч строк пересчитывается вхолостую. Хотелось бы создать макрос для копирования строк заданное количество раз для распространения формул. Подобные макросы видел, и в т.ч. очень интересный на этом форуме. Но у меня задача несколько сложнее. Нужно чтобы копировалась строка следующая после строки, в которой заполнена ячейка столбца F листа "Исходные данные" (т.е. по первой пустой ячейки столбца F). Одновременно должна копироваться та же самая строка на листе "service" (эти листы взаимосвязаны формулами). Количество копируемых строк определяет ячейка M4 "Технические сведения". Т.е. смысл в том, что изначально в заготовке 100 строк, я вношу данные и при недостатке строк с формулами макросом добавляется определенное количество строк, если не хватает строк, то еще добавляется. Количество требуемых строк изначально неизвестно. Протаскивать строки неудобно, т.к. в формулах есть массивы и есть еще другая таблица также взаимосвязанная с данной построчно. В приложенном файле пример таблицы. Буду благодарен за любую помощь в решении задачи.
К сообщению приложен файл: 5002093.xls (40.0 Kb)
 
Ответить
СообщениеЗдравствуйте, уважаемые форумчане! Большое вам спасибо за этот форум, за вашу открытость и готовность помочь в решении непосильных для многих любителей excel задач. Затрудняюсь сосчитать сколько почерпнул здесь полезных решений. Сразу скажу что в макросах не силен, но нужно осилить задачу. Есть таблица, в которую заносятся данные по объектам, количество заполняемых строк может быть от 50 и более 2000. В таблице данные анализируются и просчитываются множеством формул и также с использованием условного форматирования. Из-за большого количества строк с формулами таблица тормозит. Соответственно заготовка таблицы рассчитана на большое количество вводимых данных. Если вводимых данных пара десятков, то оставшаяся пара тысяч строк пересчитывается вхолостую. Хотелось бы создать макрос для копирования строк заданное количество раз для распространения формул. Подобные макросы видел, и в т.ч. очень интересный на этом форуме. Но у меня задача несколько сложнее. Нужно чтобы копировалась строка следующая после строки, в которой заполнена ячейка столбца F листа "Исходные данные" (т.е. по первой пустой ячейки столбца F). Одновременно должна копироваться та же самая строка на листе "service" (эти листы взаимосвязаны формулами). Количество копируемых строк определяет ячейка M4 "Технические сведения". Т.е. смысл в том, что изначально в заготовке 100 строк, я вношу данные и при недостатке строк с формулами макросом добавляется определенное количество строк, если не хватает строк, то еще добавляется. Количество требуемых строк изначально неизвестно. Протаскивать строки неудобно, т.к. в формулах есть массивы и есть еще другая таблица также взаимосвязанная с данной построчно. В приложенном файле пример таблицы. Буду благодарен за любую помощь в решении задачи.

Автор - Markovich
Дата добавления - 04.11.2020 в 13:35
Pelena Дата: Среда, 04.11.2020, 22:49 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Не уверена, что правильно поняла, особенно про второй лист. Вариант в файле.
К сообщению приложен файл: 8656480.xls (49.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Не уверена, что правильно поняла, особенно про второй лист. Вариант в файле.

Автор - Pelena
Дата добавления - 04.11.2020 в 22:49
Markovich Дата: Четверг, 05.11.2020, 09:30 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Pelena, большое Вам спасибо! Макрос работает как надо. Только хотелось бы уточнить, как на втором листе сделать, чтобы не была выделена после работы макроса штрих-пунктиром последняя скопированная строка (выделение не снимается). И еще хотел бы спросить, что нужно изменить в макросе, чтобы копировалась строка номер 9 на десятую (нужно для связанной таблицы). И еще каким образом можно сделать, чтобы макрос не работал (например, выдавал ошибку), если заполнено меньше 100 строк.
 
Ответить
СообщениеPelena, большое Вам спасибо! Макрос работает как надо. Только хотелось бы уточнить, как на втором листе сделать, чтобы не была выделена после работы макроса штрих-пунктиром последняя скопированная строка (выделение не снимается). И еще хотел бы спросить, что нужно изменить в макросе, чтобы копировалась строка номер 9 на десятую (нужно для связанной таблицы). И еще каким образом можно сделать, чтобы макрос не работал (например, выдавал ошибку), если заполнено меньше 100 строк.

Автор - Markovich
Дата добавления - 05.11.2020 в 09:30
Pelena Дата: Четверг, 05.11.2020, 13:50 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Так подойдёт?
К сообщению приложен файл: 3958089.xls (52.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТак подойдёт?

Автор - Pelena
Дата добавления - 05.11.2020 в 13:50
Markovich Дата: Четверг, 05.11.2020, 16:43 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Pelena, да, с ограничением на количество заполненных строк правильно. Вы меня уж извините, я с самого начала как то витиевато поставил вопрос и не сразу заметил в результате... Задача: нужно копировать строку с первой пустой ячейкой столбца F (после заполненных). там в других ячейках этой строки множество формул. а в созданных макросах копируется строка с последней заполненной ячейкой столбца F. "строка для копирования" - это имелось ввиду пустая ячейка столбца F.
К сообщению приложен файл: 3958089_1.xls (58.5 Kb)


Сообщение отредактировал Markovich - Четверг, 05.11.2020, 16:45
 
Ответить
СообщениеPelena, да, с ограничением на количество заполненных строк правильно. Вы меня уж извините, я с самого начала как то витиевато поставил вопрос и не сразу заметил в результате... Задача: нужно копировать строку с первой пустой ячейкой столбца F (после заполненных). там в других ячейках этой строки множество формул. а в созданных макросах копируется строка с последней заполненной ячейкой столбца F. "строка для копирования" - это имелось ввиду пустая ячейка столбца F.

Автор - Markovich
Дата добавления - 05.11.2020 в 16:43
Pelena Дата: Четверг, 05.11.2020, 18:42 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Ну, прибавьте единичку к номеру последней заполненной строки)
К сообщению приложен файл: 1163493.xls (56.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНу, прибавьте единичку к номеру последней заполненной строки)

Автор - Pelena
Дата добавления - 05.11.2020 в 18:42
Markovich Дата: Четверг, 05.11.2020, 19:14 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Большое спасибо! То что надо.
 
Ответить
СообщениеБольшое спасибо! То что надо.

Автор - Markovich
Дата добавления - 05.11.2020 в 19:14
Markovich Дата: Четверг, 31.12.2020, 02:27 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Доброго времени суток, форумчане! С наступающим Новым годом! При попытке начать использование макроса, любезно написанного Pelena(ой) выявилась проблема: столбец Q на листе "service" является отражением столбца F на листе "Исходные данные", таблицы работают синхронно. Т.о. в столбце Q на листе "service" всегда присутствует формула ссылки на столбец F листа "Исходные данные" и из-за этого макрос не работает должным образом (ячейка без текста, но с формулой не считается пустой). Самостоятельно преодолеть проблему не получается. Вариантов решения в голове крутится два: либо как то определять в столбце Q последнюю ячейку с текстом и следующую строку ячейкой Q без текста (но с формулой) копировать заданное количество раз, либо определять номер строки с первой пустой ячейкой столбца F (после заполненных) листа "Исходные данные" и строку с этим номером, на листе "service" копировать заданное количество раз. Не понимаю какой из вариантов проще реализовать, но подошел бы любой из них. Подскажите, пожалуйста, способ решения.
P.S. Часть макроса с копированием строк на листе "Исходные данные" работает как надо.
К сообщению приложен файл: _v.2.xls (55.0 Kb)


Сообщение отредактировал Markovich - Четверг, 31.12.2020, 02:28
 
Ответить
СообщениеДоброго времени суток, форумчане! С наступающим Новым годом! При попытке начать использование макроса, любезно написанного Pelena(ой) выявилась проблема: столбец Q на листе "service" является отражением столбца F на листе "Исходные данные", таблицы работают синхронно. Т.о. в столбце Q на листе "service" всегда присутствует формула ссылки на столбец F листа "Исходные данные" и из-за этого макрос не работает должным образом (ячейка без текста, но с формулой не считается пустой). Самостоятельно преодолеть проблему не получается. Вариантов решения в голове крутится два: либо как то определять в столбце Q последнюю ячейку с текстом и следующую строку ячейкой Q без текста (но с формулой) копировать заданное количество раз, либо определять номер строки с первой пустой ячейкой столбца F (после заполненных) листа "Исходные данные" и строку с этим номером, на листе "service" копировать заданное количество раз. Не понимаю какой из вариантов проще реализовать, но подошел бы любой из них. Подскажите, пожалуйста, способ решения.
P.S. Часть макроса с копированием строк на листе "Исходные данные" работает как надо.

Автор - Markovich
Дата добавления - 31.12.2020 в 02:27
Pelena Дата: Четверг, 31.12.2020, 09:22 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте. И Вас с наступающим!
Не уверена, что правильно поняла, проверьте так
К сообщению приложен файл: 7970913.xls (49.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте. И Вас с наступающим!
Не уверена, что правильно поняла, проверьте так

Автор - Pelena
Дата добавления - 31.12.2020 в 09:22
Markovich Дата: Четверг, 31.12.2020, 11:22 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Pelena, преогромнейшее Вам спасибо! Работает как нужно. Хотел таблицу свою в обкатку до Нового года запустить и Вы прям подарок новогодний сделали, что все получилось. Еще раз с наступающим и пусть Новый год будет лучше прежнего во всем, здоровья и всех благ Вам в Новом году!
 
Ответить
СообщениеPelena, преогромнейшее Вам спасибо! Работает как нужно. Хотел таблицу свою в обкатку до Нового года запустить и Вы прям подарок новогодний сделали, что все получилось. Еще раз с наступающим и пусть Новый год будет лучше прежнего во всем, здоровья и всех благ Вам в Новом году!

Автор - Markovich
Дата добавления - 31.12.2020 в 11:22
Markovich Дата: Пятница, 01.01.2021, 08:49 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
С Новым годом, форумчане!!! Подскажите, пожалуйста, что нужно изменить в макросе, чтобы все также, как и в предыдущем вопросе, заданное количество раз вставлялись строки синхронно в два листа и в них копировались строки с первой пустой ячейкой столбца F листа "Исходные данные" и Q листа "service" соответственно, НО только, чтобы строки вставлялись не после последней заполненной ячейки, а выше той ячейки, в которой установлен курсор (активной), но копировались бы в них все также строки по первой пустой ячейке.
К сообщению приложен файл: 2996807.xls (49.5 Kb)
 
Ответить
СообщениеС Новым годом, форумчане!!! Подскажите, пожалуйста, что нужно изменить в макросе, чтобы все также, как и в предыдущем вопросе, заданное количество раз вставлялись строки синхронно в два листа и в них копировались строки с первой пустой ячейкой столбца F листа "Исходные данные" и Q листа "service" соответственно, НО только, чтобы строки вставлялись не после последней заполненной ячейки, а выше той ячейки, в которой установлен курсор (активной), но копировались бы в них все также строки по первой пустой ячейке.

Автор - Markovich
Дата добавления - 01.01.2021 в 08:49
Markovich Дата: Понедельник, 11.01.2021, 10:48 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Pelena, не сочтите за наглость... у меня еще вопрос возник по макросу добавления строк. Можно ли сделать, чтобы макрос запускался автоматически, если в ячейке A6 (в примере) значение будет <10 и при этом отображалось сообщение типа "выполняется добавление строк". ну и ручное добавление по нажатию кнопки сохранить также хотелось бы?
К сообщению приложен файл: 6963307.xls (73.5 Kb)


Сообщение отредактировал Markovich - Понедельник, 11.01.2021, 10:49
 
Ответить
СообщениеPelena, не сочтите за наглость... у меня еще вопрос возник по макросу добавления строк. Можно ли сделать, чтобы макрос запускался автоматически, если в ячейке A6 (в примере) значение будет <10 и при этом отображалось сообщение типа "выполняется добавление строк". ну и ручное добавление по нажатию кнопки сохранить также хотелось бы?

Автор - Markovich
Дата добавления - 11.01.2021 в 10:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос копирования строк n-ое количество раз ниже непустых (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!