Добрый день. Прошу помощи... Есть два столбца с данными, необходимо чтобы данные второго столбца сравнивались с данными первого и те значения которые есть во втором но отсутвуют в первом выносились на лист результат..... т.е. берем первую ячейку второго столбца пробегаемся по диапазону первого (диапазон может быть разным) и если значение в первом есть, то ни чего не делаем, а если нет то выводим на лист результат с колличеством и т.д.. Хотелось бы конечно чтобы если значения второго стоблца отсутствует в первом то как то искать ближайшее похожее но я думаю это не реально... нужен именно макрос так как ВПР не подходит из-за дальнейших действий.... Файл прилагаю. Спасибо большое.
Поиск различий по столбцам
08.07.2014 15:22:04
|
|
|
|
08.07.2014 15:27:09
массивная
|
|||
|
|
08.07.2014 15:35:31
с доп. столбцом
|
|
|
|
08.07.2014 16:27:31
спасибо большое, но как сделать с помощью VBA? Формулы работаю то длинна первого и вторго столбцов могут быть обсолютно разными и ни хотелось бы ни каких Н/Д или нулей. Спасибо.
|
|
|
|
08.07.2014 16:46:12
Макросом...
|
|
|
|
08.07.2014 17:34:26
А почему не использовать функции Ехс при проверке нахождения данных в диапазоне?
Изменено: |
|||||
|
|
08.07.2014 21:52:35
кстати, код Alexandr P - тоже медленный. и, кроме того, решающий другую задачу вариант со словарем:
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|||||
|
|
08.07.2014 23:40:13
ну что там комментировать?.. :/
данные с листа забираются в массивы - a и b создается объект dictionary (словарь) - по сути ассоциативный массив (если не вдаваться в нюансы) первый цикл - из массива b переносим всё в словарь. второй цикл - всё что есть в массиве a, пытаемся удалить из словаря. в итоге в словаре остается то, что есть во втором массиве, но нет в первом - это нам и нужно. и в конце выгружаем "остатки" из словаря на лист. пс. обработка ошибок нужна для случаев отсутствия удаляемых элементов в словаре, а также для случая, когда словарь остается пустой.
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
08.07.2014 23:46:30
msd,
|
|||
|
|
09.07.2014 07:30:10
Ну чаще всего это расхождение по первому нулю впереди, он может быть как в столбце из базы так и в столбце сканера (сканер их иногда сканирует иногда нет)......
|
|
|
|
09.07.2014 08:53:32
увы. сейчас некогда.
вечером (примрно в 17 мск посмотрю).
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
09.07.2014 10:19:32
А там и смотреть нечего. Пустой файл, в котором макрос будет работать.
|
|
|
|
09.07.2014 11:06:05
|
|||||
|
|
09.07.2014 11:22:44
сейчас проверил на рабочем компьютере - да, неверно, согласен. спасибо за замечание. лечится легко: одну строчку
но "осадок остался". почему так?
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|||||||
|
|
09.07.2014 11:23:05
В коде ikki есть одна оплошность - нельзя так в одну строку писать удаление из словаря!
|
|
|
|
09.07.2014 11:25:04
|
|
|
|
09.07.2014 11:45:37
Это вина пропуска ошибок... Действительно, нужно запомнить...
Изменено: |
|||
|
|
09.07.2014 11:51:52
|
|||
|
|
09.07.2014 21:04:28
Alexandr P, спасибо, хороший код но я не пойму что такое с=2? За что отвечает эта переменная, просто пытаюсь вникать...... Спасибо
|
|
|
|
09.07.2014 21:13:34
модификация для файла original2.xls
запускать можно при любом активном листе любой книги.
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|||
|
|
09.07.2014 21:36:05
|
|
|
|
09.07.2014 21:39:11
Да , номера столбцов, не издевайтесь, я только начинаю вникать в эту тему..)))
|
|
|
|
09.07.2014 21:41:09
|
|
|
|
02.03.2015 21:12:52
Что решения нет?( Подскажите пожалуйста.
|
||||
|
|
|||