Страницы: 1
RSS
Разнесение строк по условию на разные листы в одной книге
 
Всем привет! Господа, прошу у Вас помощи в реализации своей задачи. (Excel VBA)

Основная суть задачи в том, чтобы перенести целые строки с данными на другой лист по условию, которое представляет из себя фрагмент текста. То есть, задаем поиск по столбцу "С" на наличие в его ячейках например текста "АРТ4" (без учета регистра). При нахождении этого совпадения, должна вырезаться вся строка, на которой находится найденная ячейка и вставляться на новый созданный лист с названием, которое должно быть равно тексту поиска (АРТ4). Ввод текста поиска можно повесить на кнопку.
 
Здравствуйте, вариант.
 
Спасибо! Логика верная. Лист с названием результат, должен иметь название, как запрос. То есть вписали например арт1, такое же название должно быть у нового листа. В Вашем случае это переменная txt. Это сделано для того, чтобы иметь возможность раскинуть весь список по листам с актуальными названиями. А так же еще есть учет регистра, т.е. если запрос указать прописными, то на новом листе ничего не появляется.
Изменено: vikttur - 29.08.2021 00:17:38
 
Проверьте
 
Хорошо, работает! Только через пару раз кнопка почему то уехала на один из созданных листов. Можно ее как-то навсегда зафиксировать на первоначальном листе?
 
https://www.cyberforum.ru/vba/thread930354.html
 
Спасибо, с кнопкой разобрался! Попробовал ввести в поиск просто "арт" и программа зависла, попробовал штрих-код ввести цифровой и тоже зависла.
 
Посмотрите файл:
 
Спасибо!
Изменено: vikttur - 07.09.2021 22:18:46
 
Добрый день. В готовом решении если в строке кнопки "введите условный текст" забить, не АРТ, а, например, 4660056102279, то вырезаются все строки,а не одна. Почему?
 
Проверьте:
Изменено: artemkau88 - 08.09.2021 10:34:25
 
Работает!
 
Уважаемый artemkau88, подскажите, а какой параметр нужно изменить в макросе, чтобы искало по столбцу В, а не С? Сам не могу сообразить. И ещё такой момент. Пробовал прогнать макрос на уже готовой таблице с данными в файле где много листов. Например, есть лист "Досудебные погашения".  Если в макросе меняю имена названий листа с "Лист1" на "Досудебные погашения", то не работает. Если меняю само название листа с "Досудебные погашения" на "Лист1", то всё ок.
Изменено: Евгений Палыч - 08.09.2021 11:13:50
 
Цитата
Евгений Палыч: Если в макросе меняю, то не работает. Если меняю само название листа, то всё ок
скорее всего то, что вы пишете руками отличается от того, что написано в имени листа. Проверить это легко, написав в макросе и изменив в книге имя листа на что-то однозначное и просто — например "RRR"
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Евгений Палыч, посмотрите зеленые комментарии в файле.
Немного подправил для Вашего примера.
 
Jack Famous, меняю название через копировать - вставить, так что должно совпадать).

artemkau88, делал всё так, как написано в комментариях - менял в 2-х местах наименование листа и номер столбца. Видимо, это всё-таки какие-то мои промахи в редактировании макроса. Буду пробовать ещё, отпишусь.
P.S. Все работает - и столбец меняется, и нужный лист берёт.
 
Евгений Палыч, посмотрите еще вариант:
Страницы: 1
Читают тему (гостей: 1)
Наверх