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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2017, 17:42   #1
max334
Новичок
Джуниор
 
Регистрация: 08.03.2017
Сообщений: 3
По умолчанию Условие на диапазон ячеек после автофильтра

Здравствуйте всем !
Столкнулся с проблемой как прописать условие для видимых ячеек после автофильтра в диапазонах 7 столбца

Как задать требуемые If для отфильтрованных ячеек не знаю (тк условие только для видимых ячеек) ?
If "Все Значения отфильтрованных ячеек в диапазоне Rng1 одинаковы" And "Все Значения отфильтрованных ячеек в диапазоне Rng1 = "Test"" 'фильтр по полному слову Test
If "Значения отфильтрованных ячеек в диапазоне Rng1 неодинаковы-могут несовпадать" 'здесь фильтр по части слова могут не совпадать целые слова

Код:
Dim Rng1 As Range 'определяем диапазоны Rng1 для условий для видимых ячеек после автофильтра
With ThisWorkbook.ActiveSheet
        Set Rng1 = AutoFilter.Range.Columns(7).SpecialCells(12) 'устанавливаем Rng1 для фильтрованного диапазона в колонке 7
If ActiveSheet.AutoFilter.Filters(7).On = True  Then   'если автофильтр в 7 столбце включен
If "Все Значения отфильтрованных ячеек в диапазоне Rng1 одинаковы" And "Все Значения отфильтрованных ячеек в диапазоне Rng1 = "Test" Then
'Условие1
End If
If "Значения отфильтрованных ячеек в диапазоне Rng1 неодинаковы-могут несовпадать"  Then
'Условие2
End If
Else
Exit Sub 
End If
End With

Последний раз редактировалось max334; 08.03.2017 в 17:49.
max334 вне форума Ответить с цитированием
Старый 08.03.2017, 18:40   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

если сможете сформулировать что Вам нужно - возможно, найдутся люди, которые смогут Вам помочь это сделать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.03.2017, 18:55   #3
max334
Новичок
Джуниор
 
Регистрация: 08.03.2017
Сообщений: 3
По умолчанию

я же сформулировал вопрос как сделать IF в коде - только это как эти If прописать
If "Все Значения отфильтрованных ячеек в диапазоне Rng1 одинаковы" And "Все Значения отфильтрованных ячеек в диапазоне Rng1 = "Test"" 'здесь сработал фильтр по полному слову Test
If "Значения отфильтрованных ячеек в диапазоне Rng1 неодинаковы-могут несовпадать" 'здесь сработал фильтр по части слова могут не совпадать целые слова

те 2 If условия
If "Все Значения отфильтрованных ячеек в диапазоне Rng1 одинаковы" And "Все Значения отфильтрованных ячеек в диапазоне Rng1 = "Test"
If "Значения отфильтрованных ячеек в диапазоне Rng1 неодинаковы-могут несовпадать"

Последний раз редактировалось max334; 08.03.2017 в 19:24.
max334 вне форума Ответить с цитированием
Старый 08.03.2017, 19:44   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Rng1 (в общем случае) - это будет диапазон несмежных ячеек
к нему нельзя применить if worksheetfunction.cointif(Rng1, "Test") = Rng1.count (((

зато можно применить
Код:
if ВсеВДиапазонеРавныТест(Rng1) Then ...
где
Код:
Function ВсеВДиапазонеРавныТест(rg as range) as boolean
  dim c as range
  for each c in rg
    if c <> "Test" then exit function
  next
  ВсеВДиапазонеРавныТест = true
end function
и аналогично для второго условия
Код:
Function ВсеРавны( rg as range)
...
if c <> rg.cells(1) then exit function
...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.03.2017, 20:16   #5
max334
Новичок
Джуниор
 
Регистрация: 08.03.2017
Сообщений: 3
По умолчанию

Благодарю IgorGO - очень помогли !
max334 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на диапазон и условие Philipp93 Помощь студентам 12 30.10.2014 19:46
копирование ячеек после автофильтра ggetbraine Microsoft Office Excel 0 17.09.2013 21:16
Как удалить все строки кроме первой, после автофильтра myosotis Microsoft Office Excel 2 30.01.2013 19:31
Составить условие проверки вхождения числа в заданный диапазон (Delphi) Hylim1991 Помощь студентам 1 22.03.2012 08:16
как сделать нумерацию попорядку после автофильтра SnowManTomsk Microsoft Office Excel 3 14.03.2008 20:55