Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
выкрутилась вот так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 14:37 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
о простом сравнении я почему-то не подумала)))))))))))) все, коллапс мозга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 14:38 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
VNI, Немного оптимизировал код с учетом того, что данные на первом столбце первого листа не повторяются. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Протестировал на своих данных, где по 35 тысяч строк на каждом листе. Макрс выполнился за 332 секунды. Проделал тоже самое с помощью ВПР, макрос выполнился за 17 секунд. Правда в моем случае для каждой строки первого листа имелась в наличии строка во втором листе. У вас-же я как понял на второй лист добавляются просто некоторые строки, по которым бы вы хотели изменить значения на втором листе. А все остальные должны при этом не изменяться. В этом случае просто так ВПР-ом не обойтись, немного нужно поизвращаться. Приведенный код можно ускорить, если использовать метод двух курсоров как предлагает Shocker.Pro. Но надо при этом правильно отсортировать данные, возможны проблемы если данные в ключевом поле первого листа не совсем "одинакового типа". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 14:52 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Блин не заметил, что когда тестировал код, у меня позиции столбцов были другие. В вашем случае вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 14:58 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Djon PlayerПриведенный код можно ускорить, если использовать метод двух курсоров как предлагает Shocker.Pro. Я, наконец, вернулся. Как у вас тут, смогли сделать достаточно быстрый алгоритм, с достаточной скоростью обрабатывающий данные автора? Или попробовать сделать двумя курсорами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 14:59 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Shocker.ProDjon PlayerПриведенный код можно ускорить, если использовать метод двух курсоров как предлагает Shocker.Pro. Я, наконец, вернулся. Как у вас тут, смогли сделать достаточно быстрый алгоритм, с достаточной скоростью обрабатывающий данные автора? Или попробовать сделать двумя курсорами? Я сделал код, в принципе по сравнению с 5 с половиной часами намного быстрее. Но лучше думаю сделать именно методом двух курсоров. Как раз тоже собираюсь это проделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 15:01 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
А вот и мой метод двух курсоров: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. На этот раз на моих данных код выполнился за 3 секунды. Перед использованием предпологается что данные на первом и втором листе отсортированы по возрастанию по первому столбцу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 15:11 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
может пригодиться... "быстро" Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 18:11 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
VNI, у метода find есть еще параметры: LookAt:=xlWhole / xlPart, SearchOrder:=xlRows / xlColumns ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 18:30 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 21:22 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
VNI, попробуй применить к своим большим таблицам это. Чтобы уложиться в 100 кб, пришлось отсечь многое. Я работаю с таблицами до 10000 строк. Если будет интересно, спрашивай - отвечу. Щелкая по полям ввода, будешь вводить имена листов и номера столбцов. Твои два листа затащи в эту книгу либо с помощью кнопок, либо руками. Посмотри код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 21:30 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 21:58 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, 1-й вариант не нужно рассматривать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 22:03 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
.Михаил., Изучая ваш код, случайно получил способ, как подвесить Excel. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 23:15 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
У меня тоже есть готовый код для таких случаев, похожий на код от zchvv. Правда у меня объёмы поменьше, так что за скоростью не гнался. Делает то, что надо автору, через Find, может сравнивать и копировать по многим столбцам (не подряд в том числе), есть опции по пробелам и пометки о совпадении... Как вариант: http://hugo.nxt.ru/CompareFiles.Find.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 00:48 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Сейчас померил скорость - 3000х3000 несовпадающих записей сверял 40 сек. Проц 2.02ГГц Целерон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 02:03 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Забыл поменять все Integer на Long. Протестировал на 50000 строках. Если убрать прогресс и подсчет перенесенных значений, будет быстрее, но все равно медленно!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 06:17 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Убрал из кода прогресс, подсчет перенесенных значений и цикл по массиву текстбоксов (оставил только А(1) и В(1). На 50000 строках - 13 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 08:18 |
|
||
|
сопоставление данных на двух листах
|
|||
|---|---|---|---|
|
#18+
Окончательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 08:31 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36545934&tid=2159941]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 132ms |

| 0 / 0 |
