![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Код:
Правильно поставленная задача - три четверти решения.
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Туплю нереально
Че то не получается внедрить ваш код. Например, не знаю что означают словосочетания ИсходныеДанные и НовыеДанные. |
![]() |
![]() |
![]() |
#13 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Цитата:
Правильно поставленная задача - три четверти решения.
|
|
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Думаю, словарь тут лишнее - ведь по задаче нужно найти одно совпадение.
И поэтому возможно/иногда/редко не придётся перебирать весь объём данных ![]() Ну ладно - зато поиск в словаре быстрее, чем сравнение текущего значения с каждым элементом массива. Вообще нужно потестить на сотне тысяч значений... Приду домой - проверю ![]()
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
А если я очень вас попрошу помочь кровь из носу как надо. Плиз!
Потому что в макросах я не силен, а класы для меня темный лес. |
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Потестил на файле http://www.programmersforum.ru/attac...5&d=1349266760
Размножил данные на 100к строк, в нижней строке поместил совпадение (на первом листе в H21 дату). Код:
2,34375 103830 0,40625 Словарь тут не нужен. P.S. А по практической задаче - там не могут быть повторы. Т.к. нельзя зайти дважды в одну реку ![]() Это если брать дату как она есть в файле. С другой стороны - если брать только день без времени - а разве не может быть два акта на одну машину? Думаю вполне может быть, на разные ремонты. Давайте продумайте и сформулируйте предельно точно задачу. Но я скорее всего делать не буду - некогда.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 03.10.2012 в 23:08. |
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Чо т я савсем запутался
Hugo121, например, как вы тестили мой файл если он не работает? И вот сейчас только заметил, в спешке я вернул неправильные названиялистов. И далее ,что должен делать приведенный вами макрос? У меня он, почему то ничего не делает. А что касается пределно точной формулировки вопроса,то суть не в том, сколько может быть актов. А соль вся в том, что иногда бывает, ошибочно нажимаешь одну и ту же кнопку не один, а два раза. А надо только один. Так вот, чтоб при втором (ошибочном) нажатии кнопки, одна и та же инфа,повторно в список не попала. Вот и все. Да и еще в голову пришло. На практике два абсолюьно одинаковых акта не бывает. Но допустим, что теоретически все даные каких то двух актов идентичны. Но их номера будут разными, в любом случае. Иначе это будет не два разных акта, а два экземпляра одного и того же акта. Последний раз редактировалось Робин; 04.10.2012 в 01:00. |
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Ваш файл работает. Да от него ничего и не зависит - код ведь другой
![]() А то, что Вы не видите результата - это говорит о том, что Вы не знаете, куда смотреть! Да и вообще - это пока теория, чистая наука ![]() Практически Вы так пока и не сказали, что именно сравнивать и что вообще нужно делать. Хотя весь код уже практически есть - только его нужно пересобрать в нужном виде ![]() Ну а если сравнивать по номерам, которые всегда разные - то тем более.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Добрый день
Вот немного изменил и сделал пример понагляднее. Что куда копировать выделил одинаковым цветом. А сверять нужно номер акта (см. в ячейке F7 на листе Акт)и ищем его в столбце А на листе Реестр. А также дату (см. в ячейке Е8 на листе Акт) и ищем ее в столбце В на листе Реестр. Если такие даные отсутствуют в реестре, то макрос записывает всю строку в Реестр. А если такие номер и дата в Реестре уже есть, макрос сообщает об этом и дает отказ от записи. Коль скоро передыдущий макрос не играет роли, я его не привожу. Сильно извиняюсь за предылуший сумбур с моей стороны. |
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Еще раз извиняюсь.
Не понятно как в архив попал файл с 2007 экселя, смотрите пожалуйста файл 2003-го. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос переноса данных при пересечении временных диапазонов | strannick | Microsoft Office Excel | 2 | 23.09.2012 12:08 |
Макрос переноса данных | TbIL | Microsoft Office Excel | 3 | 15.02.2012 21:34 |
Макрос переноса данных. | madex | Microsoft Office Excel | 13 | 18.12.2011 16:44 |
макрос для переноса введенных данных | vostok | Microsoft Office Excel | 2 | 27.11.2010 11:16 |
Макрос для переноса данных в виде таблицы из Excel в Word | Jevgeni85 | Microsoft Office Excel | 2 | 25.08.2010 16:52 |