Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 23:11   #1
Potesrelcis
 
Регистрация: 24.01.2012
Сообщений: 5
По умолчанию Макрос который сравнивает две таблицы

Здравствуйте помогите новичку, есть скрипт (макрос) который сравнивает две таблицы (на точное совпадение строк) это: Таблица 1 и Таблица 2 и выводит список в таблицу Совпадения, помогите доработать скрипт (макрос) чтоб еще выводил список не совпавших строк в таблицу Разница)))
Вложения
Тип файла: zip MiEx10.zip (33.7 Кб, 21 просмотров)
Potesrelcis вне форума Ответить с цитированием
Старый 25.01.2012, 23:34   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Что-то там накручено... С Белушкиным явно косяк - 4+2=8
Я бы всё переписал на словаре - так совпадения легко выбрать.
Но с разницей работы больше - в 2 раза похоже больше...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 26.01.2012, 00:00   #3
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Potesrelcis Посмотреть сообщение
Здравствуйте помогите новичку, есть скрипт (макрос) который сравнивает две таблицы (на точное совпадение строк) это: Таблица 1 и Таблица 2 и выводит список в таблицу Совпадения, помогите доработать скрипт (макрос) чтоб еще выводил список не совпавших строк в таблицу Разница)))
1. может вам необходимо все уникальные без повторов отобрать , которые имеются в обоих таблицах?
2. из какой таблицы выводить отсутствующих ? в 1 или 2 или в обоих ?
и опять же всех подряд или нужно уникальных оставить
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 27.01.2012, 20:45   #4
Potesrelcis
 
Регистрация: 24.01.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
2. из какой таблицы выводить отсутствующих ? в 1 или 2 или в обоих ?
и опять же всех подряд или нужно уникальных оставить
Задача вывести всех подряд, отсутствующих в таблице 1)) на лист Разница
Potesrelcis вне форума Ответить с цитированием
Старый 27.01.2012, 23:48   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Отсутствующих в таблице 1 из таблицы 2, или отсутствующих в таблице 2 из таблицы 1?
Т.е. тех, кто есть в 1, но нет в 2?

Проверяйте - сделал обе задачи одним небольшим кодом (Ваши там тоже остались).
Разница - это те, кто есть в 1, но нет в 2.
Раз сказали, что всех - так всех (легче - не надо в повторах уникальных отбирать...)
Вложения
Тип файла: zip MiEx10H.zip (38.0 Кб, 40 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 28.01.2012 в 00:09.
Hugo121 вне форума Ответить с цитированием
Старый 28.01.2012, 00:30   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Чего такая разница? Игорь, проверь у себя. АГАФОНОВ нету ни там ни там.
Вложения
Тип файла: rar MiEx10.rar (27.2 Кб, 18 просмотров)
Тип файла: zip MiEx10.zip (37.0 Кб, 31 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 28.01.2012 в 00:59.
kuklp вне форума Ответить с цитированием
Старый 28.01.2012, 00:57   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Сергей, Агафонов только во второй таблице - а мы так не договаривались
Мой код выводит совпавших, и
Цитата:
Разница - это те, кто есть в 1, но нет в 2.
Проверять и туда, и назад - я сразу сказал, что работы много... и вроде не заказывали
А чего твой код так долго работает? Понимаю, что проверок больше - но мой вроде раза в 4 быстрее...
Это не Join(Application.Index(a, i), "|") тормозит?
Точно - заменил всюду на монстра
Код:
            temp = a(i, 1) & "|" & a(i, 2) & "|" & a(i, 3) & "|" & a(i, 4) & "|" & a(i, 5) & "|" & a(i, 6)
и на
temp
и залетало.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 28.01.2012 в 01:08.
Hugo121 вне форума Ответить с цитированием
Старый 28.01.2012, 01:01   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Загрузил и второй вариант. Бог его знает, как ему нать:-)
Цитата:
Задача вывести всех подряд, отсутствующих в таблице 1)) на лист Разница
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 28.01.2012, 14:16   #9
Potesrelcis
 
Регистрация: 24.01.2012
Сообщений: 5
По умолчанию

Всем спасибо огромное за помощь, все работает))) как положено)))
Potesrelcis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как написать макрос, который бы запускался с открытием книги? БАХТИ Microsoft Office Excel 6 25.09.2011 10:23
Защищенный документ+макрос который удаляет страници(разделы) женя2010 Microsoft Office Word 3 27.07.2011 15:23
Необходимо доработать макрос, который создает шаблон Androgen13 Microsoft Office Excel 10 24.07.2011 22:10
макрос, который переворачивает таблицу Настя.Пенская Microsoft Office Excel 12 06.06.2011 20:03
Нужен макрос, объединяющий две таблицы в одну VectorC Microsoft Office Excel 6 10.02.2011 11:15