|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.06.2010, 12:12 | #1 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 31
|
Поиск по маске данных в ячейках Excel
Всем добрый день! Очень нужна ваша помощь.
Есть книга excel, которая содержит данные о коммунальных платежах. Выглядит это все следующим образом: Столбец H: Строка 2131: текст Строка 2132: текст Строка 2133: текст Строка 2133: ММП: МОСКВА 4 Строка 2138: текст Строка 2139: ММП: МОСКВА 5 Строка 2140: текст Строка 2141: текст и т.д. Так вот нужно осуществить поиск по столбцу H и найти ячейки со значениями МОСКВА 1-7 и МОСКВА 9, чтобы потом в зависимости от этого номера копировать весь диапазон на лист с соответствующим номером. Программа выдает ошибку в строке: For mmp= 1 to 9 If mmp=9 then mmp=9 ... If Range("H" & startrow + first - step).Find(What:="МОСКВА "&mmp) = True Then .... End if Next mmp Понимаю, что написано неправильно, но исправить самой не получается. mmp- это как раз номер после МОСКВА, от 1-7 или 9 Помогите, пожалуйста! Заранее спасибо. Если непонятно объяснила, прилагаю архив с макросом. Последний раз редактировалось Milo4ka_Lucy; 25.06.2010 в 22:04. Причина: не дописала строку If mmp=9 then mmp=9 |
25.06.2010, 17:16 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Как сказал один человек:"Мы пойдем другим путем"
Вариант рабочий,но мне не совсем нравится
Анализ,обработка данных Недорого
|
25.06.2010, 19:55 | #3 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте Milo4ka_Lucy.
Мнение : я не уверен, что Вы пошли по правильному пути. Если выполняемая задача законна, у Вас есть текстовый файл со сформированным отчетом и Вы знаете где он фомируется, гораздо проще взять исходные данные и работать с ними. Теребите руководство, ведь наверняка с "поставщиком" отчетов можна договориться о "поставке" исходных данных. Я считаю, любые табличные данные объемом более 100 записей (строк) "достойны" обработки в СУБД, скорость и качество обработки не идет в сравнение с электронными таблицами. Евгений. |
25.06.2010, 22:02 | #4 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 31
|
doober, cпасибо очень и очень большое.
В коде еще не разбиралась, лишь мельком глянула. Запустила, работает хорошо. Всё, где я запуталась, решено и даже более того. Думаю, начальство будет довольно, и это главное. =) |
25.06.2010, 22:09 | #5 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 31
|
Евгений, теребить так называемых "поставщиков" и руководство нет никакой возможности, так что делаю, как сказано. А задача конечно же законна.=)
|
14.07.2010, 14:40 | #6 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 31
|
Вопрос
Возник вопрос: как переделать программу, если выписки по платежам не всегда содержат 6 строк?
Код:
|
14.07.2010, 15:12 | #7 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Текстового файла уже нет ,по памяти поясню .я обычно все удаляю.Почему -6 +6
просматривается диапазон 13 строк в центре строка МОСКВА номер От найденного вхождения в строку МОСКВА номер к диапазону данных по счету можно привязаться к строкам ---------------- Визуально определил,что гарантировано на 6 позиций вверх может быть только одна строка ---------------- , обозначающая раздел счетов,то есть начало этого счета. Точно такая же картина и вниз.По другому не смог выделить диапазон конкретного счета.Количество записей разное. Выложите разновидности ваших счетов.Возможно и решение найдется
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 14.07.2010 в 15:14. |
14.07.2010, 15:47 | #8 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 31
|
Файл
Прикладываю файлик. Обратите внимание на строку 498 (уже в книге excel). Программа не включает данную выписку (89). Видимо диапазона в 13 строк здесь недостаточно. Как я уже говорила, пробовала увеличить диапазон поиска, но тогда прога неправильно понимает, какой диапазон копировать, и сортировки ноль.
Хотя есть у меня вторая версия: что по данной выписке просто не найдена ячейка с текстом "МОСКВА 5", но я пока не поняла из-за чего это может быть. Последний раз редактировалось Milo4ka_Lucy; 14.07.2010 в 17:38. |
14.07.2010, 16:21 | #9 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
заменил алгоритм определения диапазона.Смотрит вверх на 12 позиций,пока не найдет.проверил,счет появился
Анализ,обработка данных Недорого
|
14.07.2010, 16:27 | #10 |
Пользователь
Регистрация: 25.06.2010
Сообщений: 31
|
У меня он также появлялся. Проблема-то вся, что появляется неполностью, да еще и путается со следующим счетом. Никак этот диапазон ВЕСЬ вместе с пустыми строками и т.п. скопировать не удается. =((
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Excel - перенос данных в ячейках | beerbitch | Microsoft Office Excel | 15 | 12.03.2010 17:33 |
Поиск текста по маске | WinApi | Помощь студентам | 6 | 27.12.2009 01:17 |
Поиск папки по маске | ForzaJuve | Общие вопросы Delphi | 9 | 20.06.2009 23:50 |
Поиск По маске | CoreFox | Общие вопросы Delphi | 11 | 21.02.2008 21:48 |