|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
Поиск значения в одном и копирование в другой файл18.12.2015, 10:45. Показов 9192. Ответов 81
Метки нет (Все метки)
Всем добрый день.
Есть такая задачка: Есть 2 файла: - в первом > 255 полей и > 800000 строк - во втором (активном) ококло 1000 строк и около 30 столбцов Надо написать макрос, который бы брал значение ячейки 2 столбца из первого файла и сравнивал бы его с значеинем(по входимости(использовать Like)) ячейки столбца найденого по названию столбца во втором файле если совпало то копируем значение во второй файл в столбец i+1 в текущую строку(где i это столбец найденый по названию столбца) ACCESS и другие программы не предлагать, т.к. ради ухода от них и спрашивается. Exel и только Exel. Пускай долго, но так надо ![]() Добавлено через 5 минут Сделать это надо не открывая(визуально) первого файла.И закрыть не забыть
0
|
|
| 18.12.2015, 10:45 | |
|
Ответы с готовыми решениями:
81
Сбор данный по значению поля в одном файле и копирование в другой файл Поиск значения и копирование на другой лист Открытие файла, поиск значения и копирование значения в исходный файл |
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 18.12.2015, 15:16 [ТС] | |
|
SoftIce, и ещё, в твоём коде не надо переносить на новый лист это раз,второе,если не совпадают то они пропускаются из массива,а они должны остаться.
Сейчас пример ещё один скину.
0
|
|
|
es geht mir gut
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|
| 18.12.2015, 15:16 | |
|
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 18.12.2015, 15:17 [ТС] | |
|
SoftIce, вот это и надо чтоб остались старые
0
|
|
|
es geht mir gut
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|
| 18.12.2015, 15:17 | |
|
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 18.12.2015, 15:18 [ТС] | |
|
SoftIce, смотрел,и его и ваш и ни в одном коде нет упоминания m,n
0
|
|
|
es geht mir gut
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|
| 18.12.2015, 15:20 | |
|
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 18.12.2015, 15:27 [ТС] | |
|
Вот
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 18.12.2015, 17:04 [ТС] | |
|
M,n ,нашёл в последнем архиве...теперь понятно что это за звери.
Добавлено через 47 минут Кстати,программа не закрывает файл 1 после работы,а надо бы, а то оперативная не резиновая... По крайней мере в коде этого не увидел.. Добавлено через 3 минуты А если файл 1 уже открыт,то будет задаваться вопрос на повторное открытие?
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|||||||||||||||||||||
| 21.12.2015, 13:37 [ТС] | |||||||||||||||||||||
|
Не работает:
Добавлено через 12 минут Вот ссылка на реальные данные https://yadi.sk/d/XwcVlhnhmN3Ev Помогите пожалуйста добиться положительного результата... Добавлено через 14 минут А если делаю так то на 1004 ошибка
SoftIce, вообще соображений нет как сделать правильно? А то ваш код выбирает то что есть,а тех которых нет,удаляет,а это ежегодное дело
0
|
|||||||||||||||||||||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|||||||||||||||||||||||||||
| 21.12.2015, 14:07 | |||||||||||||||||||||||||||
|
так пробуй
Добавлено через 5 минут Arr3 теперь не нужен. Всё делается в Arr1. Поэтому и на лист надо возвращить Arr1
0
|
|||||||||||||||||||||||||||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||||||
| 21.12.2015, 14:28 [ТС] | ||||||
|
Alex77755,
Сделал вот так
Добавлено через 6 минут Alex77755, Вы ещё говорили что можно как то через Find LookAt:=xlWhole ? Может через него будет проще? Добавлено через 8 минут Да и ещё по идеи он(макрос) должен вставлять справа от обозначения столбец и в него записывать,поэтому ч и пытаюсь через поиск столбца это реализовать...никто не знает в каком будет столбце "обозначение"... Но вы посему то решили обе колонки заменить...
0
|
||||||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 21.12.2015, 14:30 | |
|
согласуй имена массивов с книгами: какой массив находится в активной книге (файле 2), какой в файле 1
Неужели трудно согласовать? Ведь весь принцип расписан!
0
|
|
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||||||
| 21.12.2015, 14:56 [ТС] | ||||||
|
Alex77755, нет,через матрицу мы с вами эту задачу не решим...так как должно присутствовать пустые записи,которые матрица не поддерживает...будем решать через find...
Да,что согласовывать если все согласовано и ещё один важный момент,ну не понимаю я как это через матрицу можно сделать...через fir,if и тп операторы могу понять,но с матрицей или массивом нет,ну не укладывается у меня в голове... Вариант SoftIce через 3й массив был нормальный за исключением того что он удалял те что не совпали Добавлено через 8 минут Я бы конечно решал задачу по другому если бы не было этих вот "-хх"тогда бы простым поиском по файлу и всё...или же можно как то их оторвать и поискать? А через вот это
0
|
||||||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||||||||
| 21.12.2015, 15:02 | ||||||||
Я, видимо, чего-то не знаю\ Добавлено через 2 минуты И упорно не хотите использовать Option Explicit назначается одна переменная, а ищется другая И обе не объявлены
0
|
||||||||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
||||||||||||
| 21.12.2015, 15:16 [ТС] | ||||||||||||
|
Alex77755,
На выходе получаю 1004 ошибку в строке
0
|
||||||||||||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||||||
| 21.12.2015, 15:22 | ||||||
1
|
||||||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 21.12.2015, 15:46 [ТС] | |
|
Alex77755,
Есть 2недостатка в этом коде: 1) файл спрашивает сохранение -решил сам 2) если есть "-хх" то не выполняе своей задачи. если из массива 1 и массива 2 точно совпадает то записывается, а если нет,то пропускается... Как сделать чтоб была входимость?
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||||||
| 21.12.2015, 16:05 | ||||||
|
поменяй местами
Arr2(j, 1), Arr1(i, 1) в строке поиска
If InStr(с какой позиции искать, где искать, что искать) > 0 Then Вро де же писал искать вхождение первого массива во втором?
0
|
||||||
|
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
|
|
| 21.12.2015, 16:12 [ТС] | |
|
Alex77755, именно из первого(того большого) и все вхождения,а не первые...
Смена местами проблему не решила. Вот смотрите: если есть жг.8.700.600 То к жг.8.700.600-01 напротив надо поставить жг.8.700.600 Макрос этого не делает,он только напротив жг.8.700.600 ставит жг.8.700.600, а напротив жг.8.700.600-01 пусто.
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 21.12.2015, 16:37 | |
|
Да. Я сделал поиск до первого и потом выход из цикла. что-то не подумал о возможных повторенияж.
В первом варианте удалить строчку Exit For
0
|
|
| 21.12.2015, 16:37 | |
|
Поиск определнных значений в тексте и копирование нужной строчки(в которой найдено это значение) в другой файл Создание фильтра и копирование результатов фильтрации на другой лист (либо в другой файл)
Поиск в одном StringGrid-е и вывод результатов в другой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|