|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
||||||
Правильная организация поиска на листе Excel15.11.2011, 13:08. Показов 3607. Ответов 18
Метки нет (Все метки)
Добрый день!
Бьюсь с проблемой второй день. Суть в чем: Макрос сканирует лист входящей книги (inputbook) построчно, находит необходимую строку и переносит данные в исходящую книгу (repobook). Когда найдена искомая строка необходимо по уникальному значению ячейки найти ещё одну строку во входящей книге с этим значением и забрать оттуда недостающие данные. Однако начальную строку нахожу, копирую уникальное значение в буфер, но найти вторую часть не получается, почему не пойму. Вот код:
Кто чем может помогите пожалуйста.
0
|
||||||
| 15.11.2011, 13:08 | |
|
Ответы с готовыми решениями:
18
Организация быстрого поиска данных на листе Excel Правильная организация поиска в SortedDictionary (метод ContainsValue()) правильная организация проэкта |
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
| 15.11.2011, 13:47 | |
|
nt_dmn,
а как объявлена переменная bufr и какие данные помещаются в неё?
1
|
|
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
||||||
| 15.11.2011, 13:49 [ТС] | ||||||
0
|
||||||
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
| 15.11.2011, 13:53 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
|||||||
| 15.11.2011, 13:58 [ТС] | |||||||
|
Месседж боксы вставлял для контроля после первой строки и после условного оператора. Тот что после первой строки вываливался всегда с верным значением, а условный оператор не срабатывал
![]() Добавлено через 1 минуту
0
|
|||||||
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
| 15.11.2011, 14:02 | |
|
nt_dmn,
нет в ячейках столбца C таких же данных, как в переменной bufr. А если и есть, то в ячейке есть ещё и др. данные.
0
|
|
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
|
| 15.11.2011, 15:07 [ТС] | |
|
Данные есть и точно такие же, единственное там объединение ячеек может присутствовать.
Прикрепляю пример реального отчета. алгоритм работает след образом: перебирает строки, в строке 31 находятся необходимые нам данные, переносим их в другую книгу, копируем значение ячейки С31 в буфер (297G7SK00001) и начиная со строки 32 ищем данное значение в столбце С. В ячейке С46 находятся необходимое значение, а значит и нужная нам строка, с которой далее будем работать. Но что то не идет...
0
|
|
|
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
|
|
| 15.11.2011, 15:16 | |
|
nt_dmn,
в ячейке C46 пробелы в конце есть.
1
|
|
|
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
|
| 15.11.2011, 15:18 | |
|
nt_dmn, [C46] = "297G7SK00001 ", т.е. куча пробелов в конце. Для корректного поиска используй Trim$ или InStr или Find с соответствующими параметрами.
1
|
|
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
|
| 15.11.2011, 15:23 [ТС] | |
|
Спасибо большое, а пробелы то я и не заметил
0
|
|
| 15.11.2011, 15:27 | ||||||
|
если пробелы есть еще и в середине тогда вот вам моя функция, оптимизированная по скорости, оставляет только один пробел между словами
0
|
||||||
|
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
|||||||
| 15.11.2011, 15:40 | |||||||
|
А давай сравним
1
|
|||||||
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
||||||
| 15.11.2011, 15:48 [ТС] | ||||||
|
Парни, я не очень силен в VBA , просто приходится разбираться, что бы себе рутину облегчить... Подскажите мне ещё с синтаксисом:
0
|
||||||
|
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
|
| 15.11.2011, 17:40 | |
|
nt_dmn, а "Дата составления отчета:" в столбце [B] всегда одиножды или может периодически повторяться (т.е. несколько отчетов на одном листе)?
И может ли на листе быть ещё что-то после "Дата составления отчета:"?
0
|
|
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
|
| 15.11.2011, 17:54 [ТС] | |
|
после слов "Дата составления отчета:" ничего не бывает, это конец отчета. А по поводу "Find" сейчас разбираюсь, не работал никогда с ним, но на этом форуме нарыл много полезного, сейчас что нить слеплю надеюсь.
0
|
|
|
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
||||||
| 15.11.2011, 18:17 | ||||||
|
При таких условиях и объемах проще подредактировать имеющийся код (имхо)
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.04.2011
Сообщений: 60
|
|
| 15.11.2011, 18:26 [ТС] | |
|
Спасибо! Не знаю просто всех операторов, поэтому и тяжко.
0
|
|
|
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
|
| 15.11.2011, 20:54 | |
|
Не поверит кто, землю рою, чтоб помочь!!!
вместо того, чтобы отвечать на подобное вот картинка
0
|
|
| 15.11.2011, 20:54 | |
|
Помогаю со студенческими работами здесь
19
Правильная организация класса правильная организация соединений с БД Правильная организация интерфейса Правильная организация таблиц Правильная организация проекта? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
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 с разными данными.
|