|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2011, 15:43 | #1 |
Пользователь
Регистрация: 28.01.2011
Сообщений: 29
|
проверка чисел в разных файлах
Есть два файла, в них столбцы с не уникальными числами (могут повторяться) под названием "Сумма". Но разница в том, что одном файле числа идут списком (т.е. в одной ячейке одно число), а в другом формулой, вида =А+В+... (например = 500,00+300,00). Если все числа в одном файле совпадают со всеми числами в другом, то все правильно, если нет, то msgBox с несовпадениями.
Подскажите какой командой вытаскивать числа из формулы, и как уже проверенные числа исключать (чтобы повторно не проверялись)? |
04.05.2011, 09:06 | #2 |
Пользователь
Регистрация: 28.01.2011
Сообщений: 29
|
аппп ппппппп пппп
|
05.05.2011, 22:35 | #3 |
Участник клуба
Регистрация: 16.05.2010
Сообщений: 1,249
|
Девки у Вас дорогущие
Как связать Статьи с дихлофосом и огурцами? Что делать, если в разных статьях встретятся одинаковые числа? |
06.05.2011, 08:33 | #4 |
Пользователь
Регистрация: 28.01.2011
Сообщений: 29
|
Остряки... Поэтому и спрашиваю, как взаимоисключить числа после проверки по ходу процедуры
|
06.05.2011, 08:37 | #5 |
Пользователь
Регистрация: 28.01.2011
Сообщений: 29
|
т.е. макрос берет из файла 1 первую цифру, далее ищет в файле 2 равную, найдя он их взаимоисключает (какбе удаляет) next
берет из файла 1 вторую цифру, далее ищет в файле 2 равную если не находит то говорит сообщением next и т.д. |
06.05.2011, 10:26 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Может быть так - сперва пройтись по всем формулам одного списка (вероятно, "Сумма" и "Оплачено" нужно анализировать раздельно) и с помощью RegExp извлечь числа в словарь, помещая в Item количество повторов.
Потом пройтись так же по формулам второго диапазона, сверяя с словарём и уменьшая Item. В процессе если Item уже 0 или в словаре нет - значит пары нет. В конце анализируем словарь - если есть с Item>0, значит тоже нет пары. Мне реализовать затруднительно, ибо хромаю в RegExp. Хотя... можно без RegExp - просто тупо убить "=", заменить "+" на пробел и Split его... Вроде этого, потренировался на "остатках": Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 06.05.2011 в 11:01. |
06.05.2011, 12:13 | #7 |
Пользователь
Регистрация: 28.01.2011
Сообщений: 29
|
так точно, но на самом деле Вы тут столько страшных слов наговорили... А можно занести в массив данные с одного файла (столбец "Сумма") и в другой массив данные с другого (столбец "Сумма"), а потом производить манипуляции уже непосредственно с ними. Выкидывая из памяти проверенные данные.
|
06.05.2011, 12:23 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Такой набросок - запускать из модуля остатков, проверяет конкретные диапазоны:
Код:
Я перебором заношу в словарь. А второй диапозон можно и в массив, но тогда не покажешь адрес несовпадения - поэтому в этой версии тоже перебор с листа. Ну на Ваших данных разницы по скорости нет. Пока продолжать некогда - посмотрите пока, может какие замечания будут. Если файл журнал.xls будет закрыт - раскомментируйте строку '.Close 0, иначе он может стать скрытым
webmoney: E265281470651 Z422237915069 R418926282008
|
06.05.2011, 13:11 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Проверьте - рассчитано на конкретные диапазоны. Если они динамические - нужно доделывать.
Поставил тупо два похожих кода последовательно. Запускать по Alt+F8 макрос Analiz. В этой версии - если файл журнал.xls будет при запуске кода открыт, то он закроется без сохранения изменений. P.S. есть недоработка - при запуске должен быть активным лист остатки.xls. Это легко исправить в итоговой версии, если возьмёте такое решение.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 06.05.2011 в 13:17. |
06.05.2011, 13:17 | #10 |
Пользователь
Регистрация: 28.01.2011
Сообщений: 29
|
Hugo121
спасибо, буду разбираться |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Основная программа и функция расположены в разных файлах. | Марат05 | Общие вопросы C/C++ | 1 | 01.04.2011 19:09 |
Сверка столбцов в разных файлах | Антон Олегович | Microsoft Office Excel | 10 | 03.09.2010 11:38 |
Работа с данными в разных файлах | arc | Microsoft Office Excel | 4 | 28.04.2010 15:15 |
Отображение меню в .php -файлах в разных браузерах | griffi | HTML и CSS | 0 | 26.01.2010 16:48 |
Отображение меню в .php -файлах в разных браузерах | griffi | PHP | 2 | 26.01.2010 16:33 |