Hugo, да невсегда с этим работаем, и стоит ли на раз вникать? получается еще такая фишка, что если 2 раза один и тот же человек записан, то он и будет 2 раза выходить на лист! я кстати на 2 лист переправил)) получается, если строки есть пустые до нужного значения, он ничего нам не покажет))
Hugo, да невсегда с этим работаем, и стоит ли на раз вникать? получается еще такая фишка, что если 2 раза один и тот же человек записан, то он и будет 2 раза выходить на лист! я кстати на 2 лист переправил)) получается, если строки есть пустые до нужного значения, он ничего нам не покажет))NICK31
Как в базе могут быть пустые строки?!! Ну могут быть конечно... всякое видели. Тогда нужно иначе диапазон определять, от первой до последней. Если есть повторы - тоже непорядок, что за база? Но конечно можно пофиксить - другим словарём или коллекцией, если там ещё небыло - то заносим и на лист, и в словарь/коллекцию.
По "невсегда с этим работаем, и стоит ли на раз вникать" - ну я знаю очень многих, которые работают постоянно, и не вникают. Работают себе ручками, по линеечке, на калькуляторе... Без проблем
Вот и Вы можете - есть формулы, которые можно протянуть, есть Ctrl+F - все так и делают, им ведь за это плятят
Как в базе могут быть пустые строки?!! Ну могут быть конечно... всякое видели. Тогда нужно иначе диапазон определять, от первой до последней. Если есть повторы - тоже непорядок, что за база? Но конечно можно пофиксить - другим словарём или коллекцией, если там ещё небыло - то заносим и на лист, и в словарь/коллекцию.
По "невсегда с этим работаем, и стоит ли на раз вникать" - ну я знаю очень многих, которые работают постоянно, и не вникают. Работают себе ручками, по линеечке, на калькуляторе... Без проблем
Вот и Вы можете - есть формулы, которые можно протянуть, есть Ctrl+F - все так и делают, им ведь за это плятят Hugo
Hugo, сегодня пришел на работу,занес весь список там выходит при запуске ошибка! "Run-time error 13" Type mismatch нажимаешь на кнопку Debug заходим в код и там желтым выделена строка,где комментарий ваш "заполнили словарь". эту базу можно как-то вообще сравнить,может из-за большого массива данных проблемы?
Hugo, сегодня пришел на работу,занес весь список там выходит при запуске ошибка! "Run-time error 13" Type mismatch нажимаешь на кнопку Debug заходим в код и там желтым выделена строка,где комментарий ваш "заполнили словарь". эту базу можно как-то вообще сравнить,может из-за большого массива данных проблемы?NICK31
Hugo, я вроде нашел ошибку,сейчас проверю все списки и отпишусь,найлет он всех тех,кого ручками нашли...а ошибка была в одной строке 484))когда нвводишь мышкой на ошибку,он показывает,где проблема!сейчас с сотового сижу!обязательно отпишусь
Hugo, я вроде нашел ошибку,сейчас проверю все списки и отпишусь,найлет он всех тех,кого ручками нашли...а ошибка была в одной строке 484))когда нвводишь мышкой на ошибку,он показывает,где проблема!сейчас с сотового сижу!обязательно отпишусьNICK31
nilem, вот здесь код макроса, вроде ничего не менял Hugo сделал мне, но часть не ищет! только база намного больше чем есть в таблице высланной, это как вы и просили к примеру вам выслать
nilem, вот здесь код макроса, вроде ничего не менял Hugo сделал мне, но часть не ищет! только база намного больше чем есть в таблице высланной, это как вы и просили к примеру вам выслатьNICK31
nilem, суть в том,что если в первом массиве данные фио и дата рождения совпадает со вторым массивом полностью,то он копирует данные на 2 листок! только данные например могут в первом списке быть вначале,а во втором в конце!
nilem, суть в том,что если в первом массиве данные фио и дата рождения совпадает со вторым массивом полностью,то он копирует данные на 2 листок! только данные например могут в первом списке быть вначале,а во втором в конце!NICK31
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] Игорь (Хьюго), конечно, это и сам знает. А мне хотелось узнать, как это работает на очень больших объемах. Напишите, что там у вас получается.
вот в этих циклах добавьте 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
Раз там trim() помог, то тогда всего можно ожидать... Тогда и application.trim() не помешал бы, и может "a" на "а" менять нужно и остальные символы... И вообще тогда вопрос - кто там эти базы разрабатывал?
Раз там trim() помог, то тогда всего можно ожидать... Тогда и application.trim() не помешал бы, и может "a" на "а" менять нужно и остальные символы... И вообще тогда вопрос - кто там эти базы разрабатывал? Hugo