|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
||||||
Макрос поиска и вывода строк, содержащих значение поиска16.03.2012, 11:24. Показов 64995. Ответов 101
Метки нет (Все метки)
Здравствуйте!
Есть макрос для поиска значения из ячейки А1 по всему листу и копированием строк из всех листов, содержащих это значение. Но есть и проблема: макрос поиска ищет только цифровые значения из указанной ячейки. Текстовые или смешанные не находит. Если знаете как подправить, помогите плз!!! Вот код:
0
|
||||||
| 16.03.2012, 11:24 | |
|
Ответы с готовыми решениями:
101
Макрос поиска вводимого значение и вывода всей строки разработать консольное приложение для ввода с клавиатуры массива строк и поиска среди них строк, содержащих заданный строковый фрагмент. Вывод количества строк в файлах, содержащих заданные строки поиска |
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
|
| 02.12.2013, 14:26 [ТС] | |
|
Вы же видите, что этот макрос - плод коллекивного творчества форума
Написали общими усилиями год назад - все работало я убрал сейчас R - и все работает ) Напомнило, как друзья перебирали мотор в Гелинвагене. После переборки остался целый тазик болтиков, кронштейнов, релешек, и т.п. Гелен с тех пор ездеет уже 2 год без всяких проблем. все гениальное должно быть просто!
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 02.12.2013, 14:47 | |
|
Вполне может быть, что эта R публичная, Integer, и используется где-то позже в другом макросе - Вы ведь не показываете файл и всю задачу.
Ну а если она не нужна - то конечно она не нужна ![]() А то что "Вы же видите" - да ничего я не вижу
0
|
|
|
0 / 0 / 0
Регистрация: 10.08.2015
Сообщений: 1
|
|
| 11.08.2015, 11:54 | |
|
Здравствуйте! Нужна помощь Есть база в которой всего один лист,в нескольких столбцах два значения по функции =ЕСЛИ(P1>640;"Снять";"Начислить") на каждый месяц свое условие то есть на следующий месяц столбец уже будет выглядеть так =ЕСЛИ(P6>1640;"Снять";"Начислить") Нужна функция в которой есть поле "что искать" где указываем значение "Снять" или "Начислить"и поле где вводим название книги например "снятие с начисления" Итог нужно найти данные "Снять" и скопировать строки с ними в отдельную книгу "снятие с начисления" Вроде типа найти в выделенном столбце все данные соответствующие "Снять" и выделить строки где есть эти данные, или скопировать их в другую книгу, ну или если проще то на другой лист.В базе 70 тыс. строк в данный момент все делается вручную так как обычный поиск не выделяет строки.
База образец.xls На оплату.xls Снять с начисления.xls
0
|
|
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
||||||
| 08.09.2015, 13:01 [ТС] | ||||||
|
Здравствуйте,
перестал работать поиск.
в чем ошибка?
0
|
||||||
|
Модератор
|
||
| 08.09.2015, 13:12 | ||
надо знать значения всех переменных il,j,kl и просмотреть значение данной ячейки оно должно быть менее 2 000 0000 000
0
|
||
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
|
| 08.09.2015, 13:45 [ТС] | |
|
: iL : "block" : Variant/String
: j : 186 : Variant/Long : KL : 6 : Variant/Double стопариться, как я понял, на Листе "Блок". Поиск по 6му столбцу. На листе около 500 позиций. 2 млн. точно не превышается Добавлено через 7 минут 186 строка: 3E1214A00246. Формат текстовый. Добавлено через 14 минут вобщем, глюк именно тут... в номере 3E1214A00246..... Эксель воспринимает как экспоненциональный формат, раскладывает число и ищет совпадение? Пробывал помимо текст.формата ставить ещё и апостроф, и пробелы ... не помогает...
0
|
|
|
Модератор
|
|
| 08.09.2015, 13:59 | |
|
val --это перевод в число
3E1214A00246 много более 2 000 000 000 вот и переполнение
1
|
|
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
|
| 08.09.2015, 15:17 [ТС] | |
|
Спасибо, понял.
Чем-нибудь можно заменить VAL? А почему '3E1214A00246 в ячейке с форматом "текст" переводится в число? Апостроф же является как бы символом запрета на перевод в число и жесткой фиксацией "текста"...
0
|
|
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|||
| 09.09.2015, 00:08 | |||
|
1
|
|||
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
|
| 09.09.2015, 11:02 [ТС] | |
|
Спасибо вам обоим!
r убрал в этом поиске, в других оставил, т.к. там действительно необходимо.
0
|
|
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
|||||||||||
| 09.03.2016, 23:43 [ТС] | |||||||||||
|
Здравствуйте,
подскажите, пожалуйста, как в данный макрос добавить поиск по 2-м значениям?
Например есть 1. болт ААА - 5 шт 2. Болт АААА - 10 шт 3. гайка ААА - 5 шт 4. гайка АААА - 10 шт поиск артикула ААА дает много лишнего также как и поиск наименование "болт" Вот надо, чтобы сразу вводили болт ААА и поиск выдавал на всех листах полные строчки с совпадением. Заранее спасибо!
0
|
|||||||||||
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
||||||
| 11.03.2016, 18:48 [ТС] | ||||||
|
помогите,пожалуйста, собрать воедино и заставить работать следующие идеи:
1. добавляем второй критерий: ar1 = CStr(Range("s1")) 2. добавляем где искать второй агрумент KL1 = Cells(i, 33) (надо ли под второй агрумент указывать диапозон имен листов как под первый критерий?) 3. меняем условие на совпадение по 1му и 2му агрументу If CStr(Sheets(iL).Cells(j, KL)) Like ar And CStr(Sheets(iL).Cells(j, KL1)) Like ar1 Then (вот тут ваще не понятно, сделал на обум, вроде строчку не высвечивает) в итоге выходит ран-тайм еррор 1004 application-defined or object-defined error
0
|
||||||
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
||||||
| 24.08.2016, 16:26 [ТС] | ||||||
|
Здравствуйте,
можно ли в данном макросе обойтись как-нибудь без "Application.Calculation = xlAutomatic"? Книга большая, пересчет занимает много времени и, соответственно, вывод результатов поиска растягивается на долго. Есть альтернатива?
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 24.08.2016, 16:54 | |
|
Да макросу пофиг есть там промежуточный пересчёт или нет. А вот что там за задача - это Вы должны знать, нужно ли там промежуточно пересчитывать.
0
|
|
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
||||||
| 24.08.2016, 17:17 [ТС] | ||||||
|
промежуточно пересчитывать не нужно, макрос ищет совпадающие значения в на листах в соответствующих столбцах, которые указаны в таблице и заданы условием
0
|
||||||
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
|
| 25.08.2016, 16:01 [ТС] | |
|
отключил пересчет, изменил 28 и 29 строку - не ищет вобще.
включил, как было в начале, пересчет и изменил 28,29 строки - ищет быстрее, но выводит результаты без заливки. Это не совсем подходит, т.к. у меня на даблклик в зависимости от цвета записаны процедуры (переход на др.лист к позиции). Другими словами, без пересчета не получилось.
0
|
|
|
|
||||||
| 25.08.2016, 16:41 | ||||||
1
|
||||||
|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
|
| 25.08.2016, 17:46 [ТС] | |
|
Спасибо большое!
Существенно быстрее: с 40-60 с до 12-15с!
0
|
|
|
0 / 0 / 0
Регистрация: 27.02.2018
Сообщений: 1
|
|
| 27.02.2018, 11:16 | |
|
Всем привет, подскажите пожалуйста, а можно макросом решить следующую задачку.
У меня два разных файла. В одном у меня битые url адреса с кодом ответа сервера 404 и их много. А во втором файле у меня полный масив этих url адресов, часть нормальные, а часть соответственно битые с кодом 404. Проблема в том, что битые url адреса не полностью совпадают текстом с общим массивом, так как url адреса в общем массиве содержат еще дополнительную разметку для аналитики. Если бы они полностью совпадали я бы использовал обычную формулу ВПР, но тут у меня совпадение только части текста и у меня не получается из-за этого найти битые ссылки с кодом 404 в общем массиве. Может подскажет кто, как быть ?
0
|
|
| 27.02.2018, 11:16 | |
|
Макрос для поиска заполненных строк в таблице и переноса их в другую книгу Запрет вывода строк содержащих значение #Ошибка Как составить рег.выражение для поиска строк, содержащих только буквы, цифры, точки, и подчеркивания Как доработать макрос для копирования строк из файлов, содержащих определенное значение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|