|
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 252
|
||||||
Макрос поиска и вывода строк, содержащих значение поиска16.03.2012, 11:24. Показов 64058. Ответов 101
Метки нет (Все метки)
Здравствуйте!
Есть макрос для поиска значения из ячейки А1 по всему листу и копированием строк из всех листов, содержащих это значение. Но есть и проблема: макрос поиска ищет только цифровые значения из указанной ячейки. Текстовые или смешанные не находит. Если знаете как подправить, помогите плз!!! Вот код:
0
|
||||||
| 16.03.2012, 11:24 | |
|
Ответы с готовыми решениями:
101
Макрос поиска вводимого значение и вывода всей строки разработать консольное приложение для ввода с клавиатуры массива строк и поиска среди них строк, содержащих заданный строковый фрагмент. Вывод количества строк в файлах, содержащих заданные строки поиска |
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 04.09.2013, 13:50 | |
|
Вызывает сомнение необходимость такой процедуры вообще.
Т.е. у Вас нет единой базы, Вам не нужна лёгкая возможность сделать сводку/подсчёт/выборку по данным? Любите сложности? Почему бы не оставлять всё как есть/заводится на одном листе, а если нужен POLZUNOV - ставим фильтр по *POLZUNOV*. Можно откинуть лишнее фильтром по дате или ещё по какому параметру. Можно отобрать только нужное макросом с использованием того же фильтра или SQL. Когда нужно например распечатать что-то по конкретному пароходу по ситуации на конкретный период.
0
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 04.09.2013, 14:32 | |
|
Все не так. Есть файл, в который заносятся прибывающие на стоянку автомобили. У них есть свои атрибуты, которые заполняются по мере некоторых событий. Самое последнее событие - отправка, а до нее происходит распределение, опять же в зависимости от неких условий, на каком из судов поедет этот авто. Как правило составление списка происходит примерно на 2-3 парохода сразу. Сам файл постоянно пополняется новыми записями
и ориентироваться в какой-то момент сложно. Поэтому, я подумал, что после определения на каком судне пойдет авто, можно переносить эти строки по своим листам-пароходам. Тем самым уменьшаем от лишнего основной лист, а так же формируем список на суда. Фильтр в данном случае не совсем удобен. Всего не расскажешь. Но идея и заключается в том, чтобы облегчить этот труд. Расставил названия судов, нажал на капу и все разлетелось по местам. Более того, с этим файлом работают иностранцы, собственно от них это и идет, но оперативность оставляет желать лучшего. Особенно после отгрузки. Еще несколько дней на первом листе маячат уже отправленные авто. Нет, я не люблю сложности. Избавляюсь.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 04.09.2013, 14:40 | |
|
Ну не знаю, какие проблемы...
Есть список машин - условно есть столбцы машина, дата и судно. В любой момент фильтром или запросом отбираем в любом разрезе - "сегодня на судне", "сегодня нераспределённые", "всего на судне за неделю", "конретная машина за год была на судах" и т.д.... Я бы вообще заносимл всё в Access стандартно через формы, вывод отчётов стандартно репортами. Но конечно нужно посидеть сделать. За зарплату, вероятно не нищенскую
0
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 04.09.2013, 14:54 | |
|
Hugo121, да я бы тоже не против, но партнеры не идут на такие новшества. Привыкли и ни туда, ни сюда.
Это реалии. А ваши рассуждения весьма далеки от того, что и как происходит. Это не статистический файл, это движение. И он регулярно пополняется и после отгрузки очищается, им это удобно, а мы зависим от этого. Вот и пытаюсь хотя бы что-то получше сделать, без серьезных потрясений. З/п... маленькая з/п
0
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 05.09.2013, 08:49 | |
|
Привет всем. В общем попробовал предложенный вариант. Не стал долго разбираться, что-то там не работает, может я чего не заменил, не знаю. Но то что делается до ошибки не совсем то. Переносит на вкладки все подряд, не разделяя на названия. Я выкладываю весь файл, обрезанный и вычищенный от лишних листов, они там не важны. А то под 4 мегабайта файл, много мне кажется для проверки. Так вот. Там есть и предложенный вариант обработки и мой. Там кнопки и одна подписана как "мой". Для проверки работы я сделал всего две вкладки. Оставил два названия. Сути не меняет, 2 их или 7. В общем, после работы моего макроса, придется заново присваивать названия в поле "Q", ибо у меня работает и с первого листа убирает ненужные строки.
Конечно, я использовал чьи-то наработки, подглядывал, но и сам тоже немного поучавствовал, кривой макрос, но работает как и задумал. Осталось только проверку сделать на фрагмент, типа, в ячейке стоит IVAN POLZUNOV 12/12/12, а искать и отбирать просто по POLZUNOV. В общем смотрите, поправьте, вносите если есть желание. улучшения. Заранее благодарен.
0
|
|
|
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
|
| 05.09.2013, 10:52 | |
|
Здравствуйте, borman13,
Мой макрос работает только в том случае, если заголовки столбцов одинаковы во всех таблицах. У вас же заголовок "Code" есть только в первой таблице. В общем, делать макрос без образца - неблагодарное дело .С уважением, Aksima
0
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 05.09.2013, 13:05 | |
|
Извините, Aksima, я видимо это не учел. Обязательно попробую завтра. Сейчас вот еще озадачился
поиск найти по всей книге с фокусировкой на ячейке и подсвечиванием.. Ни у кого не завалялся. Нашел несколько видов, но в каждом есть что-то не то. Хотелось бы минимум ручной работы, чтобы листы перескакивали автоматом...
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 05.09.2013, 14:37 | |
|
Т.е. сперва создаём трудности, затем преодолеваем?
0
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
||||||
| 06.09.2013, 09:44 | ||||||
|
Hugo121, почему бы и нет. Все есть опыт. И это лучше, чем ничего не делать. Вот появилось у меня желание что-то подобное сделать, пришлось и моск напрячь и движуху устроить...
![]() Добавлено через 19 часов 2 минуты В общем доделал свой вариант, может кому интересно будет и нужно... Что делает, распределяет строки по листам, названия которых, находятся в ячейках столбца Q. На листах записи добавляются, с первого листа удаляются. На первом листе остаются строки не попадающие на свои листы по причине неопределенности.
0
|
||||||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
||||||
| 06.09.2013, 12:52 | ||||||
|
Хорошо.
Тогда такой вариант - из Вашего кода взял одну строку и принцип Union для удаления всего за раз. Листы как и у Вас уже должны быть, хотя конечно можно и добавить их генерацию кодом. Если строк по кораблю на перенос будет очень много (будет превышена длина строки в .Item(k) и соотв. диапазон не определится), то код нужно менять. Например или делить эту строку на части и копировать/запоминать частями, или собирать номера строк в коллекцию и затем копировать по одной, как у Вас. И соответственно сразу аналогично собирать union удаляемых строк. Зато быстро - Ваш вариант у меня вообще всё подвесил и не заработал без коррекций, а мой живенько всё перенёс. Но файл вообще глючный - хоть я его и почистил от лишних строк, он всё равно ведёт себя странно.
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 06.09.2013, 16:41 | |
|
Hugo121, спасибо Вам огромное, в понедельник все проверю. Конечно, будет лучше, воспользуюсь Вашим вариантом.
По файлу... Эх-хе-хе.. .все очень трудно, это долго объяснять, но проблема в наших зарубежных друзьях, которые лет 10 гоняют этот файл, а есть еще один... там вашпе -полный алес, они из файла берут наши изменения и копируют их в свой такой же... А потом опять его нам присылают... И не соглашаются ни на что, только так... Ладно, хватит о работе, удачных Вам выходных. Спасибо еще раз.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 06.09.2013, 17:16 | |
|
Вероятно потому он такой глючный...
Вам нужно поймать момент когда там данных мало и скопировать ТОЛЬКО НУЖНЫЕ ДАННЫЕ и ФОРМАТ ячеек (чтоб шрифт не потерять) в новый чистый файл, а этот убить. Ну или хотя бы скопировать только нужные строки - я так сделал, Ваш приложенный файл похудел до 33кб. Там вероятно за годы накопилось столько всякого мусора... ScriptEditor вообще завешивает машину, не может открыть этот файл.
1
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 09.09.2013, 10:11 | |
|
Hugo121, ну да, выдает ошибку 1004... А вообще, у меня вопрос, как вычистить файл от всякой ненужной дряни? Даже при том, что у меня по 500 строк и 5 листов, ну не должен он весить 4 метра... Что-то не то...
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 09.09.2013, 10:43 | |
|
Я же уже написал.
Лучший способ - скопировать только нужные данные в новый чистый файл. Немного лишнего веса я убрал удалив полностью все строки под данными - там были местами форматированные ячейки, их можно найти через Ctrl+End. Нашёл что мешало отрыть в ScriptEditor'е - там было 3 Custom Views (не знаю как это на русском, никогда не пользовался). Удалил - тоже файл стал чуть полегче.
0
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 09.09.2013, 12:27 | |
|
Hugo121, спасибо, поковыряюсь.. Не могу скопировать, поскольку есть листы с чисто японскими делами, надо какую-нить катану сначала поставить, а то не нюхает иностранные слова. Англицкий еще куда ни шло.
А если можно, подскажите, что там в коде поправить, чтобы Ваш вариант заработал?
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 09.09.2013, 12:42 | |
|
Мой вариант на примере работает.
Что там иначе в рабочем файле - отсюда не видно. Может быть [a1].CurrentRegion без данных?
0
|
|
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 09.09.2013, 13:02 | |
|
У меня файл полный, все вкладки по именам+ японские, но я их в массивах не перечислял..
Дома нет файла.. На работе посмотрю. [a1].CurrentRegion .. .я вообще для определения заполненности строк использую колонку D, поскольку это номер кузова и он всегда есть. Это самое стабильно-заполненное поле. Грубо говоря, по нему я и ориентировался у себя в макросе.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
||||||
| 09.09.2013, 13:16 | ||||||
|
Можно так изменить:
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.09.2013
Сообщений: 12
|
|
| 09.09.2013, 13:34 | |
|
Hugo121, нет как раз-таки, ибо 17 колонка может иметь сколь угодно пустых ячеек, и не факт, что последняя существующая заполненной строка будет иметь не пустое значение 17 столбца... А вот колонка D, среди всех интересующих в данном деле вкладок, показательна и информативна на предмет количества заполненных строк.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 09.09.2013, 13:59 | |
|
Да, но Вам ведь не нужны все заполненные строки - интересны только те из 17 столбца, где указано судно.
0
|
|
| 09.09.2013, 13:59 | |
|
Помогаю со студенческими работами здесь
60
Макрос для поиска заполненных строк в таблице и переноса их в другую книгу Запрет вывода строк содержащих значение #Ошибка Как составить рег.выражение для поиска строк, содержащих только буквы, цифры, точки, и подчеркивания Как доработать макрос для копирования строк из файлов, содержащих определенное значение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение
Это мой обзор планшета X220 с точки зрения школьника.
Недавно я решила попытаться уменьшить свой. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|