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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2010, 15:17   #1
Михаил2261
Пользователь
 
Регистрация: 03.05.2010
Сообщений: 37
По умолчанию фильтр для строк

Здравствуйте!
Подскажите как решить нестандартную задачу в екселе 2003:
Есть строки чисел:

2 10 12 20 25 33
8 12 21 23 28 30
1 15 16 17 18 19
5 20 25 30 36 41
1 10 22 26 27 29
6 12 16 19 26 30
1 22 26 27 32 40
Нужно оставить числа в строках, оканчивающиеся на одну и туже цифру,
остальные скрыть т.е.после работы останутся:
2 12 10 20
8 28
5 25 20 30
6 16 26
22 32
спасибо
Михаил2261 вне форума Ответить с цитированием
Старый 27.05.2010, 15:52   #2
alebed
Пользователь
 
Аватар для alebed
 
Регистрация: 26.05.2010
Сообщений: 77
По умолчанию

Могу предложить уже неоднократно использованную мной на форуме конструкцию сравнения данных но с небольшими изменениями

Sub Уникальные()
Dim x As Variant, y As Variant, SravnenyeDiap As Variant
Range("A1:F7").Select
Set SravnenyeDiap = Range("A1:F7")
For Each x In Selection
For Each y In CompareRange
If Right(x.Value, 2) = Right(y.Value, 2) And x.AddressLocal <> y.AddressLocal Then x.Offset(0, 8) = x
Next y
Next x
End Sub

Прим: x.AddressLocal <> y.AddressLocal необходимо чтобы не сравнивать ячейки сами с собой
Важно ! Перед отработкой числа необходимо сохранить как текст
Спасибо и Пасибы принимаются на WebMoney в американских Z143254902288 или русских R388611339241 монетах

Последний раз редактировалось alebed; 27.05.2010 в 15:53. Причина: Поспешил
alebed вне форума Ответить с цитированием
Старый 27.05.2010, 15:57   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Можно и формулами попробовать:
Код:
  Ячейка: H1      Формула  (стиль A1):   =ЕСЛИ(СУММПРОИЗВ((ОСТАТ((A1-$A1:$F1);10)=0)*($A1:$F1))>A1;A1;"")
                  Формула  (стиль R1C1): =ЕСЛИ(СУММПРОИЗВ((ОСТАТ((RC[-7]-RC1:RC6);10)=0)*(RC1:RC6))>RC[-7];RC[-7];"")
EducatedFool вне форума Ответить с цитированием
Старый 27.05.2010, 16:02   #4
Михаил2261
Пользователь
 
Регистрация: 03.05.2010
Сообщений: 37
По умолчанию

спасибо за программу ,но у меня выскакивает ошибка на строке
For Each y In CompareRange
что делать?
Михаил2261 вне форума Ответить с цитированием
Старый 27.05.2010, 16:56   #5
alebed
Пользователь
 
Аватар для alebed
 
Регистрация: 26.05.2010
Сообщений: 77
По умолчанию

Михаил2261 прошу меня извенить
когда писал ответ в голову влезла переменная из моей текущей работы
просто необходимо заменить
For Each y In CompareRange
на
For Each y In SravnenyeDiap
Спасибо и Пасибы принимаются на WebMoney в американских Z143254902288 или русских R388611339241 монетах
alebed вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать фильтр столбцов (не строк)? jar76 Microsoft Office Excel 19 23.09.2014 11:34
Нужна программа для exel, фильтр smnv Фриланс 2 28.05.2010 12:33
фильтр для чисел Михаил1 Microsoft Office Excel 2 07.10.2009 18:49
фильтр для ShellTreeView Aндрей Компоненты Delphi 1 21.05.2009 13:18