Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/макрос сравнения 2х листов одного файла по 2м столбцам - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос сравнения 2х листов одного файла по 2м столбцам (Формулы)
макрос сравнения 2х листов одного файла по 2м столбцам
NICK31 Дата: Вторник, 29.10.2013, 18:33 | Сообщение № 21
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, да невсегда с этим работаем, и стоит ли на раз вникать? получается еще такая фишка, что если 2 раза один и тот же человек записан, то он и будет 2 раза выходить на лист! я кстати на 2 лист переправил)) получается, если строки есть пустые до нужного значения, он ничего нам не покажет))
 
Ответить
СообщениеHugo, да невсегда с этим работаем, и стоит ли на раз вникать? получается еще такая фишка, что если 2 раза один и тот же человек записан, то он и будет 2 раза выходить на лист! я кстати на 2 лист переправил)) получается, если строки есть пустые до нужного значения, он ничего нам не покажет))

Автор - NICK31
Дата добавления - 29.10.2013 в 18:33
NICK31 Дата: Вторник, 29.10.2013, 18:35 | Сообщение № 22
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, получается все это решение?
 
Ответить
СообщениеHugo, получается все это решение?

Автор - NICK31
Дата добавления - 29.10.2013 в 18:35
Hugo Дата: Вторник, 29.10.2013, 18:48 | Сообщение № 23
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Как в базе могут быть пустые строки?!! Ну могут быть конечно... всякое видели.
Тогда нужно иначе диапазон определять, от первой до последней.
Если есть повторы - тоже непорядок, что за база? Но конечно можно пофиксить - другим словарём или коллекцией, если там ещё небыло - то заносим и на лист, и в словарь/коллекцию.

По "невсегда с этим работаем, и стоит ли на раз вникать" - ну я знаю очень многих, которые работают постоянно, и не вникают. Работают себе ручками, по линеечке, на калькуляторе... Без проблем :)

Вот и Вы можете - есть формулы, которые можно протянуть, есть Ctrl+F - все так и делают, им ведь за это плятят :)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеКак в базе могут быть пустые строки?!! Ну могут быть конечно... всякое видели.
Тогда нужно иначе диапазон определять, от первой до последней.
Если есть повторы - тоже непорядок, что за база? Но конечно можно пофиксить - другим словарём или коллекцией, если там ещё небыло - то заносим и на лист, и в словарь/коллекцию.

По "невсегда с этим работаем, и стоит ли на раз вникать" - ну я знаю очень многих, которые работают постоянно, и не вникают. Работают себе ручками, по линеечке, на калькуляторе... Без проблем :)

Вот и Вы можете - есть формулы, которые можно протянуть, есть Ctrl+F - все так и делают, им ведь за это плятят :)

Автор - Hugo
Дата добавления - 29.10.2013 в 18:48
NICK31 Дата: Среда, 30.10.2013, 08:46 | Сообщение № 24
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, сегодня пришел на работу,занес весь список там выходит при запуске ошибка! "Run-time error 13" Type mismatch нажимаешь на кнопку Debug заходим в код и там желтым выделена строка,где комментарий ваш "заполнили словарь". эту базу можно как-то вообще сравнить,может из-за большого массива данных проблемы?
 
Ответить
СообщениеHugo, сегодня пришел на работу,занес весь список там выходит при запуске ошибка! "Run-time error 13" Type mismatch нажимаешь на кнопку Debug заходим в код и там желтым выделена строка,где комментарий ваш "заполнили словарь". эту базу можно как-то вообще сравнить,может из-за большого массива данных проблемы?

Автор - NICK31
Дата добавления - 30.10.2013 в 08:46
NICK31 Дата: Среда, 30.10.2013, 08:48 | Сообщение № 25
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, делаешь меньший объем данных сравнивает
 
Ответить
СообщениеHugo, делаешь меньший объем данных сравнивает

Автор - NICK31
Дата добавления - 30.10.2013 в 08:48
NICK31 Дата: Среда, 30.10.2013, 08:56 | Сообщение № 26
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, даже 1300 не сравнивает((
 
Ответить
СообщениеHugo, даже 1300 не сравнивает((

Автор - NICK31
Дата добавления - 30.10.2013 в 08:56
nilem Дата: Среда, 30.10.2013, 09:12 | Сообщение № 27
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
NICK31, а примерчик можете показать? (сотню строк, например)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеNICK31, а примерчик можете показать? (сотню строк, например)

Автор - nilem
Дата добавления - 30.10.2013 в 09:12
NICK31 Дата: Среда, 30.10.2013, 09:17 | Сообщение № 28
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, я вроде нашел ошибку,сейчас проверю все списки и отпишусь,найлет он всех тех,кого ручками нашли...а ошибка была в одной строке 484))когда нвводишь мышкой на ошибку,он показывает,где проблема!сейчас с сотового сижу!обязательно отпишусь
 
Ответить
СообщениеHugo, я вроде нашел ошибку,сейчас проверю все списки и отпишусь,найлет он всех тех,кого ручками нашли...а ошибка была в одной строке 484))когда нвводишь мышкой на ошибку,он показывает,где проблема!сейчас с сотового сижу!обязательно отпишусь

Автор - NICK31
Дата добавления - 30.10.2013 в 09:17
NICK31 Дата: Среда, 30.10.2013, 09:56 | Сообщение № 29
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

nilem, пример выкладываю, почему-то подчеркнутые не все находит
К сообщению приложен файл: 2406728.xlsx (12.4 Kb)
 
Ответить
Сообщениеnilem, пример выкладываю, почему-то подчеркнутые не все находит

Автор - NICK31
Дата добавления - 30.10.2013 в 09:56
NICK31 Дата: Среда, 30.10.2013, 10:04 | Сообщение № 30
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

nilem, вот здесь код макроса, вроде ничего не менял Hugo сделал мне, но часть не ищет! только база намного больше чем есть в таблице высланной, это как вы и просили к примеру вам выслать
К сообщению приложен файл: 7491288.xlsx (10.6 Kb)
 
Ответить
Сообщениеnilem, вот здесь код макроса, вроде ничего не менял Hugo сделал мне, но часть не ищет! только база намного больше чем есть в таблице высланной, это как вы и просили к примеру вам выслать

Автор - NICK31
Дата добавления - 30.10.2013 в 10:04
NICK31 Дата: Среда, 30.10.2013, 10:20 | Сообщение № 31
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

nilem, суть в том,что если в первом массиве данные фио и дата рождения совпадает со вторым массивом полностью,то он копирует данные на 2 листок! только данные например могут в первом списке быть вначале,а во втором в конце!
 
Ответить
Сообщениеnilem, суть в том,что если в первом массиве данные фио и дата рождения совпадает со вторым массивом полностью,то он копирует данные на 2 листок! только данные например могут в первом списке быть вначале,а во втором в конце!

Автор - NICK31
Дата добавления - 30.10.2013 в 10:20
nilem Дата: Среда, 30.10.2013, 10:29 | Сообщение № 32
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вот в этих циклах добавьте Trim
[vba]
Код
For i = 2 To UBound(a)
       t = Trim(a(i, 1)) & "|" & a(i, 2): .Item(t) = i '***
Next
[/vba]
[vba]
Код
For i = 2 To UBound(a)
             t = Trim(a(i, 1)) & "|" & a(i, 2) '***
             If .exists(t) Then
                 ii = ii + 1
                 b(ii, 1) = a(i, 1)
                 b(ii, 2) = a(i, 2)
             End If
Next
[/vba]
Игорь (Хьюго), конечно, это и сам знает. А мне хотелось узнать, как это работает на очень больших объемах. Напишите, что там у вас получается.


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевот в этих циклах добавьте Trim
[vba]
Код
For i = 2 To UBound(a)
       t = Trim(a(i, 1)) & "|" & a(i, 2): .Item(t) = i '***
Next
[/vba]
[vba]
Код
For i = 2 To UBound(a)
             t = Trim(a(i, 1)) & "|" & a(i, 2) '***
             If .exists(t) Then
                 ii = ii + 1
                 b(ii, 1) = a(i, 1)
                 b(ii, 2) = a(i, 2)
             End If
Next
[/vba]
Игорь (Хьюго), конечно, это и сам знает. А мне хотелось узнать, как это работает на очень больших объемах. Напишите, что там у вас получается.

Автор - nilem
Дата добавления - 30.10.2013 в 10:29
Hugo Дата: Среда, 30.10.2013, 10:47 | Сообщение № 33
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Как код макроса может быть в xlsx? На листе что-ли написан? Файл не качал.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеКак код макроса может быть в xlsx? На листе что-ли написан? Файл не качал.

Автор - Hugo
Дата добавления - 30.10.2013 в 10:47
NICK31 Дата: Среда, 30.10.2013, 10:48 | Сообщение № 34
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

nilem, вроде работает,я весь список сейчас проверю и дам знать
 
Ответить
Сообщениеnilem, вроде работает,я весь список сейчас проверю и дам знать

Автор - NICK31
Дата добавления - 30.10.2013 в 10:48
NICK31 Дата: Среда, 30.10.2013, 10:48 | Сообщение № 35
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

nilem, вроде работает,я весь список сейчас проверю и дам знать
 
Ответить
Сообщениеnilem, вроде работает,я весь список сейчас проверю и дам знать

Автор - NICK31
Дата добавления - 30.10.2013 в 10:48
NICK31 Дата: Среда, 30.10.2013, 10:49 | Сообщение № 36
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, он 5 мб почему то весил,я его на лист,как текст кинул)))
 
Ответить
СообщениеHugo, он 5 мб почему то весил,я его на лист,как текст кинул)))

Автор - NICK31
Дата добавления - 30.10.2013 в 10:49
Hugo Дата: Среда, 30.10.2013, 10:53 | Сообщение № 37
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Раз там trim() помог, то тогда всего можно ожидать...
Тогда и application.trim() не помешал бы, и может "a" на "а" менять нужно и остальные символы... И вообще тогда вопрос - кто там эти базы разрабатывал? :)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеРаз там trim() помог, то тогда всего можно ожидать...
Тогда и application.trim() не помешал бы, и может "a" на "а" менять нужно и остальные символы... И вообще тогда вопрос - кто там эти базы разрабатывал? :)

Автор - Hugo
Дата добавления - 30.10.2013 в 10:53
NICK31 Дата: Среда, 30.10.2013, 10:58 | Сообщение № 38
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Hugo, эта выгрузка из текстового файла,сохраненная в эксель))и таких файлов 6 на 10 млн человек состаящая...
 
Ответить
СообщениеHugo, эта выгрузка из текстового файла,сохраненная в эксель))и таких файлов 6 на 10 млн человек состаящая...

Автор - NICK31
Дата добавления - 30.10.2013 в 10:58
nilem Дата: Среда, 30.10.2013, 11:10 | Сообщение № 39
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Может есть смысл проверять сразу текстовый файл?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеМожет есть смысл проверять сразу текстовый файл?

Автор - nilem
Дата добавления - 30.10.2013 в 11:10
NICK31 Дата: Среда, 30.10.2013, 11:12 | Сообщение № 40
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

nilem, не текстовый точно нет смысла проверять
 
Ответить
Сообщениеnilem, не текстовый точно нет смысла проверять

Автор - NICK31
Дата добавления - 30.10.2013 в 11:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос сравнения 2х листов одного файла по 2м столбцам (Формулы)
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!