Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2013, 01:03   #1
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию макрос для отбора повторов

Доброго времени суток! Уважаемые профи мне надо написать макрос в экселе но я никогда не писал макросы и поэтому очень надеюсь на вашу помощь. Задача такая, есть книга эксель и в ней много листов и на каждом листе от 500 до 2000 записей( поля: дата, номер, текст) и среди них есть повторения(на одном листе и между листами) и мне нужно написать макрос который как то выдавал бы все повторения по номеру(вместе с текстом и датой т.е всю повторяющуюся строку) и отсортировал бы все это по дате и там же чтоб можно было удалять один из повторяющихся записей, надеюсь вы меня поняли и поможете, заранее спасибо.
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 19.03.2013, 01:29   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

О как запугали бедного...
Но без примера в файле думаю толку не будет.
А вообще в деталях не понятно что нужно сделать... Вот самый конец объясните подробнее.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.03.2013, 03:22   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Создаете в файле Access таблицу Номера с
полями: дата, номер, текст.имя листа,строка.
Заполняете ее соответствующими данными.
Получаете запросом список уникальных номеров.

Код:

"SELECT Номер FROM Номера GROUP BY Номер"
И вторым запросом в цикле получаете отсортированный по дате
набор данных по конкретному номеру ХХХ
Первая строка нужна,остальные по имени листа и номеру строки
можно поменить например заливкой на удаление.
После обработки цветные строки удалить.

Код:
"SELECT Номера.* " & _
" FROM Номера " & _
" WHERE Номер =" & XXXX & _
" ORDER BY Дата DESC"
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 19.03.2013, 03:24   #4
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

файла у меня нет, его можно сделать, там 3 столбца(дата,номер тел, текст(смс)) таких листов с такими столбцами много в одной книге и надо чтоб макрос показал все совпадения по номеру во всех листах, и чтоб результат был отсортирован по дате и чтоб там же можно было удалять не нужные записи и при этом чтоб они удалялись на листах где они расположены на самом деле, так понятно?
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 19.03.2013, 03:33   #5
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Цитата:
Создаете в файле Access таблицу Номера
у меня эксель файл и там много листов так что даже импорт в аксес мне не подходит
Цитата:
" WHERE Номер =" & XXXX & _
если я правильно понял вас то мне не по конкретному номеру нужно искать а по любым совпадающим
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 19.03.2013, 05:03   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
у меня эксель файл и там много листов так что даже импорт в аксес мне не подходит
вы идею не поняли,программно надо заполнить одну таблицу
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 19.03.2013, 09:21   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Решение на Акцессе - самое правильное. можно сделать две таблички: номера телефонов (id, num) и смс-ки (id, дата, текст) и заполнять их из таблиц Экселя черерз специализированный импорт. Или же консолидировать все данные в одну таблицу, а управление сделать через связанные запросы (что проще) - один запрос на отбор уникальных номеров телефона, и связанный с ним запрос на полную выборку из таблицы.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 19.03.2013, 10:40   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

"файла у меня нет" - у меня тоже.
"надо чтоб макрос показал все совпадения по номеру во всех листах" - пальцем? Ну есть варианты, но всёж хотелось чтоб Вы продумали этот момент. Я предлагаю листбокс - "и чтоб результат был отсортирован по дате и чтоб там же можно было удалять не нужные записи и при этом чтоб они удалялись на листах где они расположены на самом деле" тогда теоретически можно сделать.
А практически если повторов будет пара десятков или сотен (а то и тысяча...) - затруднительно...
Думаю как-то иначе нужно решать проблему. Может и впрямь аццессом её?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.03.2013, 13:36   #9
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

вот я набросал примерный файл Книга1.rar просто представьте что там много записей и много листов, результат я просто не знаю куда именно показать потому что не работал с макросами,может в новом листе показать?вообще поиск встроенный в экселе был бы идеальным решением если бы по каждому номеру не нужно было искать и если бы эксель в том окне поиска позволял бы удалять записи и если бы чуть чуть в другом виде показывал он этот результат)))
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 19.03.2013, 14:03   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Так, становится яснее.
Расскажите про повторы - значит те строки, которые не повторяются - не выводить.
А повторяющиеся - выводить все, или первую не нужно?
Вообще работа не маленькая и не такая уж простая (если делать чтоб было похоже на окно поиска, но с возможностью удаления) - поэтому делать не берусь (есть другие на очереди...).
Но Вы всёж проясните вопрос - другим будет легче Вам помочь.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для каждого аi найти ki количество его повторов последовательности. Yakov112 Общие вопросы C/C++ 2 06.10.2012 23:18
Макрос для отбора данных dyakon88 Microsoft Office Excel 28 12.11.2010 15:56
Использование поля со списком для отбора данных newgor Microsoft Office Access 2 14.05.2010 20:52
Макрос для посчета повторов и уникальных Shkoda Microsoft Office Excel 24 02.05.2010 19:39
Условия для отбора в запрос из данных в форме smoky Microsoft Office Access 2 22.09.2008 16:10