![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.03.2010
Сообщений: 14
|
![]()
Здравствуйте уважаемые участники форума!
Помогите, пожалуйста, решить следующую проблему: Имеется определенная программа. Из нее выгружаются файлы в формате .dbf. Имеется необходимость проконтролировать данные, содержащиеся в этих файлах. Они более или менее корректно открываются в Excel 2003. В таблице имеются множество записей на определенные даты месяца. Необходимо произвести выделение строк каким-либо цветом при превышении определенного количества записей на каждую дату по нижеуказанному условию. В каждой строке имеется столбец – PCOD (в Excel AC). Данные в нем имеют примерно такой вид: 1026401378552 103. Значение имеют последние 3 цифры (их может быть 3 или 2) – в данном примере 103. Так вот, количество строк, в зависимости от этих номеров, разное. Например, для номера 103 оно не должно превышать 3, а для номера 60 – 5. В приложенных файлах будут фигурировать эти цифры. А вообще, этих номеров 20-30 шт. и практически у всех разное количество. Их, наверно, было бы целесообразно забить в код. Но боюсь, что они будут меняться. Даты, по которым необходим контроль, находятся в столбце DFPC (в Excel I). Прикладываю файл с примером Исходник.xls. Я сохранил в формате xls потому, что так проще было создавать пример. Макросы нормально работают в файлах dbf, открытых в Excel 2003, проблемы только с корректным сохранением (но мне это не важно). Структуру таблицы я оставил такую, как она есть – в ней очень много столбцов. Я оставил только те данные, которые имеют значение для поиска. В другом файле Результат.xls то, как хотелось бы видеть результат. Файлы находятся в архиве Пример.zip. Наверно имело бы смысл запускать макрос из файла надстройки, т.к. из вышеуказанной программы выгружается много разных файлов, требующих контроля. Количество строк в файлах разное и может достигать 5000-6000. Надеюсь на помощь. С уважением, Александр |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
см.вложение.
в 43-й колонке посчитано закрашивать/нет.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.03.2010
Сообщений: 14
|
![]()
Здравствуйте IgorGO!
Спасибо вам большое, что приняли участие в решении моей проблемы! Я не совсем понял ваш вопрос. Отвечаю как понял: 43-ю и последующие колонки закрашивать не обязательно. Эти закрашивания носят информативный характер. После того, как будут найдены превышения нужно будет зайти в исходную программу и исправить превышения. Смысл в том, что найти вручную эти превышения в 5000-6000 стороках нормальному человеку, наверно, не под силу. Мне думалось, что более эффективным было бы решение этой проблемы при помощи VBA, т.к. из программы выгружается множество файлов, подлежащих контролю... Также, например, при попытке отсортировать даты по возрастанию, выдается ошибка о циклических ссылках... В любом случае, огромное спасибо за участие! С уважением, Александр Последний раз редактировалось alegu; 17.03.2010 в 11:36. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 04.03.2010
Сообщений: 14
|
![]()
Добрый вечер IgorGO!
Я еще раз проверил присланный вами файл с формулами. Продолжил формулы в 43 колонке до конца строк. Все работает корректно только до 59 строки... Моя проблема, к сожалению, не решена... Обращаюсь также к другим участникам форума: если кто-то знает решение моей проблемы, помогите пожалуйста!!!!! С уважением, Александр |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
У Вас установлен Access .Есть Возможность файл dbf открыть и сохранить как mdb.
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#6 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Цитата:
правее таблицы сформирована вспомогательная таблица 60 103 5 3 отметьте ячейки с значениями 60 и 103, назначьте им формат "текст", поставьте курсор в ячейку с 103 и нажмите энтер. теперь там не число 103, а строка "103" и все будет отображаться правильно. надеюсь вы обратили внимание, что там храниться " 60", а не "60" успехов!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Александр.
нельзя ли уточнить Вашу "задачу" : ".множество записей на определенные даты месяца...произвести выделение...при превышении..количества записей на каждую дату по... условию.." "..количество строк..не должно превышать..для номера 60 – 5..", в файле Результат на дату 02.02.2010, строк содержащих ..60 - четыре, на 27.02.2010 - шесть, по какому критерию выполнена "цветовая маркировка" ? Возможно достаточно получить сгруппированный список с указанием кол-ва записей (строк) в группе? Думаю существует "конечная цель" ради которой Вы хотите выполнять "выделение" (маркировку), может посвятите в неё, легче будет придумать "вариант решения" ![]() В любом случае для создания "варианта решения" желательно получить от Вас архив с оригинальным файлом в формате DBF, а не его XLS "аналогом". Мнение : я противник применения для работы с данными "маркировки цветом", даже только по тому, что некоторые люди страдают дальтонизмом стоит отказаться от "цветовой градации статуса" (это не относится к отчетам) Евгений. |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 04.03.2010
Сообщений: 14
|
![]()
Здравствуйте!
Спасибо всем, кто принял участие в решении моего вопроса! Отвечаю конкретным участникам doober Цитата:
Igor_GO Я проделал все так, как вы написали, но результат тот же: корректно считает только до 59 строки... Может, я что-то напутал? Вроде, все варианты перепробовал... Буду разбираться... Евгений Мне показалось, что я пример довольно подробно расписал. Цветом маркируются те записи, которые превышают заданное количество, а именно 5 для 60 и 3 для 103. Т.е. записей для каждой даты должно быть не больше этих цифр. В примерной таблице имеется колонка PCOD, в которой забиты данные 1006640977842 103 или 1016340477542 60. В даноом примере их 2 , а на самом деле их шт. 20-30. У каждого этого номера свое количество записей, которые не должны быть превышены в каждой дате. Наверно имело бы смысл сделать это макросом и запускать его из файла надстройки, т.к. из вышеуказанной программы выгружается много файлов, требующих контроля. Конечная цель конечно же существует: найти в этом файле превышения, затем зайти в исходную программу (из которой выгружаются dbf) исправить все, а затем произвести корректную выгрузку и... сдать отчет ![]() Предвосхищая ваш возможный ворос о том, зачем выгружать и править, когда можно сразу поправить в базах программы, скажу, что так не получится. Там полно всяких таблиц зависящих друг от друга, поэтому корректная правка воможна только в самой программе. Тогда все встает на свои места. Глазами в программе тоже не проконтролируешь - слишком много записей и критериев. По поводу оригинального dbf-а - там содержится конфиденциальная информация. В примере я оставил все колнки, сколько и как были. Данные же оставил только те, которые необходимы для поиска... Если я снова что-то не так объяснил, то вы меня направьте в нужное русло ![]() Да, вот еще: таблицу можно сортировать как угодно: например по датам... Огромное всем спасибо за участие! С уважением, Александр |
|
![]() |
![]() |
![]() |
#9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
не хотелось второй раз файл цеплять...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
alegu Хотя бы для этого.
Посмотрите вложение. Если пойдете этим путем Можно соответствующий запрос создать В референсах добавте ссылку на ADO
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчет количества заполненных строк. | fuzzylogic | Microsoft Office Excel | 8 | 11.03.2010 18:37 |
ошибка подсчета количества строк | kinnder | Помощь студентам | 4 | 02.03.2010 23:38 |
выделение строк | ruavia3 | Microsoft Office Excel | 2 | 26.08.2009 13:36 |
Автоматическое изменение количества строк в таблице | THE_ENGINEER | Microsoft Office Excel | 7 | 19.10.2008 21:28 |
Программа поиска количества различных строк матрицы | Miller | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 20.04.2008 22:42 |