Здравствуйте, уважаемые форумчане! Есть макрос из Макрос копирования строк n-ое количество раз ниже непустых, любезно написанный Pelena(ой). Отличный макрос, полностью выполняющий свою задачу. Но есть еще задача, которую, если возможно, хотелось бы решить на базе данного макроса. Задача в следующем: 1) нужно вставить строки в количестве, указанном в ячейке A2 листа "Данные", выше активной ячейки (т.е. в какой установлен курсор) и копировать в эти строки строку с первой пустой ячейкой столбца F (после заполненных) листа "Данные"; 2) синхронно на листе "service" в те же номера строк, что и на листе "Данные" вставить диапазон ячеек столбцов B-F с количеством по строкам из ячейки A2 листа "Данные" со сдвигом вниз и копированием в них соответственно из ячеек B-F строки с первой пустой ячейкой столбца D (после заполненных) листа "service". Подскажите пожалуйста, как можно реализовать, данную задачу
Здравствуйте, уважаемые форумчане! Есть макрос из Макрос копирования строк n-ое количество раз ниже непустых, любезно написанный Pelena(ой). Отличный макрос, полностью выполняющий свою задачу. Но есть еще задача, которую, если возможно, хотелось бы решить на базе данного макроса. Задача в следующем: 1) нужно вставить строки в количестве, указанном в ячейке A2 листа "Данные", выше активной ячейки (т.е. в какой установлен курсор) и копировать в эти строки строку с первой пустой ячейкой столбца F (после заполненных) листа "Данные"; 2) синхронно на листе "service" в те же номера строк, что и на листе "Данные" вставить диапазон ячеек столбцов B-F с количеством по строкам из ячейки A2 листа "Данные" со сдвигом вниз и копированием в них соответственно из ячеек B-F строки с первой пустой ячейкой столбца D (после заполненных) листа "service". Подскажите пожалуйста, как можно реализовать, данную задачуMarkovich
Pelena, Вы как всегда на уровне, большое Вам спасибо! Единственное уточнение, можно ли на листе "service", вставлять и копировать не строки, а ячейки со сдвигом вниз от столбца B до столбца F? Просто с боку будут другие данные, которые не хотелось бы сдвигать. Если это непросто реализовать, то и ладно, так как есть тоже здорово.
Pelena, Вы как всегда на уровне, большое Вам спасибо! Единственное уточнение, можно ли на листе "service", вставлять и копировать не строки, а ячейки со сдвигом вниз от столбца B до столбца F? Просто с боку будут другие данные, которые не хотелось бы сдвигать. Если это непросто реализовать, то и ладно, так как есть тоже здорово.Markovich
Pelena, а возможно в макросе сделать следующую доработку: если курсор находится в диапазоне строк 1-10, то выполнение макроса останавливается и выдается сообщение типа "Проверь положение курсора". А то иногда на автомате нажимается на кнопку вставки строк когда курсор в недопустимом месте. И еще возможно такое, что сколько ячеек выделено по вертикали, то столько строк и вставляется выше выделенных ячеек (приоритет по количеству добавляемых строк у выделенных ячеек перед заданным числом в ячейке). P.S. Вот только не совсем понимаю корректно ли в продолжении данной темы задавать вопросы по доработке макроса или нужно новую тему создавать?
Pelena, а возможно в макросе сделать следующую доработку: если курсор находится в диапазоне строк 1-10, то выполнение макроса останавливается и выдается сообщение типа "Проверь положение курсора". А то иногда на автомате нажимается на кнопку вставки строк когда курсор в недопустимом месте. И еще возможно такое, что сколько ячеек выделено по вертикали, то столько строк и вставляется выше выделенных ячеек (приоритет по количеству добавляемых строк у выделенных ячеек перед заданным числом в ячейке). P.S. Вот только не совсем понимаю корректно ли в продолжении данной темы задавать вопросы по доработке макроса или нужно новую тему создавать?Markovich
Сообщение отредактировал Markovich - Четверг, 07.01.2021, 11:38
Хороший вопрос. Прокрутил в голове алгоритм работы и пришел к выводу, что наиболее рациональным и визуально удобным будет сделать еще одну кнопку и назвать ее, например, "вставка строк по выделению" (или как то так). Ну и остановка выполнения макроса с сообщением о том, что курсор в диапазоне 1-10 строк находится тоже нужно.
Хороший вопрос. Прокрутил в голове алгоритм работы и пришел к выводу, что наиболее рациональным и визуально удобным будет сделать еще одну кнопку и назвать ее, например, "вставка строк по выделению" (или как то так). Ну и остановка выполнения макроса с сообщением о том, что курсор в диапазоне 1-10 строк находится тоже нужно.Markovich
Pelena, а подскажите, пожалуйста, как сделать, чтобы в целевые строки копирование производилось всегда из первой строки? Т.е. использовать первую строку как эталон/заготовку.
Pelena, а подскажите, пожалуйста, как сделать, чтобы в целевые строки копирование производилось всегда из первой строки? Т.е. использовать первую строку как эталон/заготовку.Markovich
Прошу прощения, забыл приложить пример. В примере на листе "Данные" первая строка будет являться шаблоном и ее нужно копировать во вставленные заданное (по ячейке A2 и по выделению) количество строки, а листе "service" все тоже самое, только не строка, а диапазон ячеек B1:F1 будет являться шаблоном, который нужно скопировать во вставленные ячейки
Прошу прощения, забыл приложить пример. В примере на листе "Данные" первая строка будет являться шаблоном и ее нужно копировать во вставленные заданное (по ячейке A2 и по выделению) количество строки, а листе "service" все тоже самое, только не строка, а диапазон ячеек B1:F1 будет являться шаблоном, который нужно скопировать во вставленные ячейкиMarkovich
Pelena, подскажите, пожалуйста, как вместо копирования первой строки, копировать строку с именем "forma" (в примере строка 20). пытаюсь написать вместо [vba]
Код
.Rows(1).Copy
[/vba], [vba]
Код
.Rows("forma").Copy
[/vba], выдается ошибка. Видимо что то в синтаксисе, в инете не получилось найти решения, натыкаюсь только на то что строки не могут быть буквами. Пробовал понять с помощью макрорекордера, название строки получается вроде бы в виде "forma". Вы уж извините, что столько вопросов вокруг одного и того же, все пытаюсь "Каменный цветок" создать, но не выходит. Хочется куда то деть форму для заполнения строк на листе "Данные" (которую копирую). С копированием из первой строки не очень удачно получилось, все работает как надо, только вот я эту строку сделал скрытой, в итоге макрос ее и копирует скрытой. Может быть корректнее будет, скопированные строки показывать? Тогда не понимаю как сделать проще и в каком случае код будет выполняться быстрее.
Pelena, подскажите, пожалуйста, как вместо копирования первой строки, копировать строку с именем "forma" (в примере строка 20). пытаюсь написать вместо [vba]
Код
.Rows(1).Copy
[/vba], [vba]
Код
.Rows("forma").Copy
[/vba], выдается ошибка. Видимо что то в синтаксисе, в инете не получилось найти решения, натыкаюсь только на то что строки не могут быть буквами. Пробовал понять с помощью макрорекордера, название строки получается вроде бы в виде "forma". Вы уж извините, что столько вопросов вокруг одного и того же, все пытаюсь "Каменный цветок" создать, но не выходит. Хочется куда то деть форму для заполнения строк на листе "Данные" (которую копирую). С копированием из первой строки не очень удачно получилось, все работает как надо, только вот я эту строку сделал скрытой, в итоге макрос ее и копирует скрытой. Может быть корректнее будет, скопированные строки показывать? Тогда не понимаю как сделать проще и в каком случае код будет выполняться быстрее.Markovich