Версия для слабовидящих
Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

 

= Мир MS Excel/Фильтрация колонки по цвету текста и заливки - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Фильтрация колонки по цвету текста и заливки
evokharkov Дата: Пятница, 27.10.2017, 13:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день всем.
Есть табл. из двух колонок 1ая - наименование (А), 2ая - кол-во (В), необходимо по колонке кол-во (В) отфильтровать разными вариантами.

Вариант1 - чтобы остались только ячейки, которые выделены цветом.
Вариант2 - чтобы остались ячейки в которых текст выделен цветом.
Вариант3 - чтобы остались ячейки в которых нет ничего, пусто.

Только главное условие, без прикрепления Фильтра! Можно расширенным фильтром, им у меня получается сделать чтоб оставались только ячейки с цифровым значение и без значений (пусто), а по цвету не получается.
Как можно это сделать?
К сообщению приложен файл: test.xlsx (10.2 Kb)


Сообщение отредактировал evokharkov - Пятница, 27.10.2017, 13:19
 
Ответить
СообщениеДобрый день всем.
Есть табл. из двух колонок 1ая - наименование (А), 2ая - кол-во (В), необходимо по колонке кол-во (В) отфильтровать разными вариантами.

Вариант1 - чтобы остались только ячейки, которые выделены цветом.
Вариант2 - чтобы остались ячейки в которых текст выделен цветом.
Вариант3 - чтобы остались ячейки в которых нет ничего, пусто.

Только главное условие, без прикрепления Фильтра! Можно расширенным фильтром, им у меня получается сделать чтоб оставались только ячейки с цифровым значение и без значений (пусто), а по цвету не получается.
Как можно это сделать?

Автор - evokharkov
Дата добавления - 27.10.2017 в 13:19
_Boroda_ Дата: Пятница, 27.10.2017, 13:30 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Цитата evokharkov, 27.10.2017 в 13:19, в сообщении № 1 ( писал(а)):
Только главное условие, без прикрепления Фильтра

Почему?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата evokharkov, 27.10.2017 в 13:19, в сообщении № 1 ( писал(а)):
Только главное условие, без прикрепления Фильтра

Почему?

Автор - _Boroda_
Дата добавления - 27.10.2017 в 13:30
evokharkov Дата: Пятница, 27.10.2017, 13:39 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Цитата _Boroda_, 27.10.2017 в 13:30, в сообщении № 2 ( писал(а)):
Почему?


Чтоб на макросы записать и без фильтра, только по макросам работало.
Выбрал макрос, показало только текст выделенный цветом, выбрал другой макрос, показало только строки с залитыми ячейками и т.д.
 
Ответить
Сообщение
Цитата _Boroda_, 27.10.2017 в 13:30, в сообщении № 2 ( писал(а)):
Почему?


Чтоб на макросы записать и без фильтра, только по макросам работало.
Выбрал макрос, показало только текст выделенный цветом, выбрал другой макрос, показало только строки с залитыми ячейками и т.д.

Автор - evokharkov
Дата добавления - 27.10.2017 в 13:39
_Boroda_ Дата: Пятница, 27.10.2017, 13:44 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Цитата evokharkov, 27.10.2017 в 13:39, в сообщении № 3 ( писал(а)):
Чтоб на макросы записать и без фильтра

Почему?
Кто мешает "записать на макросы" с фильтром?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата evokharkov, 27.10.2017 в 13:39, в сообщении № 3 ( писал(а)):
Чтоб на макросы записать и без фильтра

Почему?
Кто мешает "записать на макросы" с фильтром?

Автор - _Boroda_
Дата добавления - 27.10.2017 в 13:44
evokharkov Дата: Пятница, 27.10.2017, 14:12 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Цитата _Boroda_, 27.10.2017 в 13:44, в сообщении № 4 ( писал(а)):
Кто мешает "записать на макросы" с фильтром?

А можно убрать потом фильтр и чтоб потом макросы работали по фильтру, но фильтра на листе не было?
Нюанс в том, чтоб на листе только макросы остались, а фильтра не было.

Прикрепляю файл, можно реализовать, чтоб эти макросы работали, но фильтра не было вообще на листе?
К сообщению приложен файл: test.xls (37.5 Kb)


Сообщение отредактировал evokharkov - Пятница, 27.10.2017, 14:31
 
Ответить
Сообщение
Цитата _Boroda_, 27.10.2017 в 13:44, в сообщении № 4 ( писал(а)):
Кто мешает "записать на макросы" с фильтром?

А можно убрать потом фильтр и чтоб потом макросы работали по фильтру, но фильтра на листе не было?
Нюанс в том, чтоб на листе только макросы остались, а фильтра не было.

Прикрепляю файл, можно реализовать, чтоб эти макросы работали, но фильтра не было вообще на листе?

Автор - evokharkov
Дата добавления - 27.10.2017 в 14:12
sboy Дата: Пятница, 27.10.2017, 15:37 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Вот такой вариант, но с фильтром мне кажется, что лучше)
К сообщению приложен файл: test-3-.xlsm (18.6 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеВот такой вариант, но с фильтром мне кажется, что лучше)

Автор - sboy
Дата добавления - 27.10.2017 в 15:37
_Boroda_ Дата: Пятница, 27.10.2017, 16:02 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Конечно лучше. А если еще и невидимую кнопку (VisibleDropDown:=False) ему приделать, то вообще никто не узнает
К сообщению приложен файл: test-5-1.xls (41.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКонечно лучше. А если еще и невидимую кнопку (VisibleDropDown:=False) ему приделать, то вообще никто не узнает

Автор - _Boroda_
Дата добавления - 27.10.2017 в 16:02
evokharkov Дата: Пятница, 27.10.2017, 16:22 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Цитата sboy, 27.10.2017 в 15:37, в сообщении № 6 ( писал(а)):
Вот такой вариант


Да, так. Скажи как ты узнаешь цифровое значение цвета и заносишь в формулу?

Sub cell_color()
Application.ScreenUpdating = False
show_rows
    For Each cl In Range("B2:B10").Cells
        If cl.Interior.Color = 16777215 Then cl.EntireRow.Hidden = True
    Next cl
Application.ScreenUpdating = True
End Sub



Если я правильно понял, то 16777215 это код цвета заливки?!

Второй вопрос.
Где тут указывается цвет текста?

Sub font_color()
Application.ScreenUpdating = False
show_rows
    For Each cl In Range("B2:B10").Cells
        If cl.Font.Color = 0 Then cl.EntireRow.Hidden = True
    Next cl
Application.ScreenUpdating = True
End Sub



Сообщение отредактировал evokharkov - Пятница, 27.10.2017, 16:28
 
Ответить
Сообщение
Цитата sboy, 27.10.2017 в 15:37, в сообщении № 6 ( писал(а)):
Вот такой вариант


Да, так. Скажи как ты узнаешь цифровое значение цвета и заносишь в формулу?
[vba]
Sub cell_color()Application.ScreenUpdating = Falseshow_rows    For Each cl In Range("B2:B10").Cells        If cl.Interior.Color = 16777215 Then cl.EntireRow.Hidden = Тrue    Next clApplication.ScreenUpdating = ТrueEnd Sub
[/vba]

Если я правильно понял, то 16777215 это код цвета заливки?!

Второй вопрос.
Где тут указывается цвет текста?

[vba]
Sub font_color()Application.ScreenUpdating = Falseshow_rows    For Each cl In Range("B2:B10").Cells        If cl.Font.Color = 0 Then cl.EntireRow.Hidden = Тrue    Next clApplication.ScreenUpdating = ТrueEnd Sub
[/vba]

Автор - evokharkov
Дата добавления - 27.10.2017 в 16:22
evokharkov Дата: Пятница, 27.10.2017, 16:37 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
_Boroda_ У вас разнятся методы? В вашем случае где-то скрыта кнопка еще?


Сообщение отредактировал evokharkov - Пятница, 27.10.2017, 16:38
 
Ответить
Сообщение_Boroda_ У вас разнятся методы? В вашем случае где-то скрыта кнопка еще?

Автор - evokharkov
Дата добавления - 27.10.2017 в 16:37
_Boroda_ Дата: Пятница, 27.10.2017, 16:44 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Цитата evokharkov, 27.10.2017 в 16:37, в сообщении № 9 ( писал(а)):
У вас разнятся методы?

Да
Цитата evokharkov, 27.10.2017 в 16:37, в сообщении № 9 ( писал(а)):
В вашем случае где-то скрыта кнопка еще?

Нет


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Цитата evokharkov, 27.10.2017 в 16:37, в сообщении № 9 ( писал(а)):
У вас разнятся методы?

Да
Цитата evokharkov, 27.10.2017 в 16:37, в сообщении № 9 ( писал(а)):
В вашем случае где-то скрыта кнопка еще?

Нет

Автор - _Boroda_
Дата добавления - 27.10.2017 в 16:44
evokharkov Дата: Пятница, 27.10.2017, 17:02 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
_Boroda_
Свои макросы заменил вашими (текст макроса контр+Ц и контрл+В на ваш), не хочет запускаться.
Что делаю не так?
К сообщению приложен файл: 5986800.xlsx (14.5 Kb)
 
Ответить
Сообщение_Boroda_
Свои макросы заменил вашими (текст макроса контр+Ц и контрл+В на ваш), не хочет запускаться.
Что делаю не так?

Автор - evokharkov
Дата добавления - 27.10.2017 в 17:02
_Boroda_ Дата: Пятница, 27.10.2017, 19:13 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Прежде всего прикладываете файл с расширением, не поддерживающим макросы
Макросы к кнопкам Контрл с-Контрл v не привяжет, это вручную нужно делать. На нужную кнопку нужный макрос.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПрежде всего прикладываете файл с расширением, не поддерживающим макросы
Макросы к кнопкам Контрл с-Контрл v не привяжет, это вручную нужно делать. На нужную кнопку нужный макрос.

Автор - _Boroda_
Дата добавления - 27.10.2017 в 19:13
evokharkov Дата: Понедельник, 30.10.2017, 11:00 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Цитата _Boroda_, 27.10.2017 в 19:13, в сообщении № 12 ( писал(а)):
_Boroda_

Извиняюсь за файл.
Но чтот у меня не получается, значит я пересохранил файл в xlsm, захожу в Разрабочик - Visual Basic - Insert - Module - записываю ваш первый макрос, сохраняю и так все 4 макроса.
После захожу в макросы Skr1-Skr4 и они пустые.
Что делаю не так?
 
Ответить
Сообщение
Цитата _Boroda_, 27.10.2017 в 19:13, в сообщении № 12 ( писал(а)):
_Boroda_

Извиняюсь за файл.
Но чтот у меня не получается, значит я пересохранил файл в xlsm, захожу в Разрабочик - Visual Basic - Insert - Module - записываю ваш первый макрос, сохраняю и так все 4 макроса.
После захожу в макросы Skr1-Skr4 и они пустые.
Что делаю не так?

Автор - evokharkov
Дата добавления - 30.10.2017 в 11:00
sboy Дата: Понедельник, 30.10.2017, 11:04 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Цитата evokharkov, 27.10.2017 в 16:22, в сообщении № 8 ( писал(а)):
Скажи как ты узнаешь цифровое значение цвета

Function GetCellColor(rC As Range)
GetCellColor = rC.Interior.Color
End Function


с цветом текста аналогично


Яндекс: 410016850021169
 
Ответить
Сообщение
Цитата evokharkov, 27.10.2017 в 16:22, в сообщении № 8 ( писал(а)):
Скажи как ты узнаешь цифровое значение цвета

[vba]
Function GetCellColor(rC As Range)GetCellColor = rC.Interior.ColorEnd Function
[/vba]
с цветом текста аналогично

Автор - sboy
Дата добавления - 30.10.2017 в 11:04
evokharkov Дата: Понедельник, 30.10.2017, 11:40 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Цитата sboy, 30.10.2017 в 11:04, в сообщении № 14 ( писал(а)):
sboy

Спасибо вам, ваши макросы разобрал, понял, только с большой таблицей они по 5 сек думаю при включении.
 
Ответить
Сообщение
Цитата sboy, 30.10.2017 в 11:04, в сообщении № 14 ( писал(а)):
sboy

Спасибо вам, ваши макросы разобрал, понял, только с большой таблицей они по 5 сек думаю при включении.

Автор - evokharkov
Дата добавления - 30.10.2017 в 11:40
sboy Дата: Понедельник, 30.10.2017, 11:52 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Цитата evokharkov, 30.10.2017 в 11:40, в сообщении № 15 ( писал(а)):
с большой таблицей

Конечно будет думать, ведь каждую ячейку проверяем. Поэтому и писали Вам
Цитата sboy, 27.10.2017 в 15:37, в сообщении № 6 ( писал(а)):
с фильтром лучше

Цитата _Boroda_, 27.10.2017 в 16:02, в сообщении № 7 ( писал(а)):
Конечно лучше


Яндекс: 410016850021169
 
Ответить
Сообщение
Цитата evokharkov, 30.10.2017 в 11:40, в сообщении № 15 ( писал(а)):
с большой таблицей

Конечно будет думать, ведь каждую ячейку проверяем. Поэтому и писали Вам
Цитата sboy, 27.10.2017 в 15:37, в сообщении № 6 ( писал(а)):
с фильтром лучше

Цитата _Boroda_, 27.10.2017 в 16:02, в сообщении № 7 ( писал(а)):
Конечно лучше

Автор - sboy
Дата добавления - 30.10.2017 в 11:52
_Boroda_ Дата: Понедельник, 30.10.2017, 12:25 | Сообщение № 17
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Полностью поддерживаю. И именно поэтому я все-таки с фильтром и сделал.
evokharkov, отвечаю на Ваш вопрос в личке -
Совершенно верно, привязал к фильтру, а стрелочку у него спрятал. Параметр VisibleDropDown отвечает за видимость стрелочки автофильтра в каждом конкретном столбце. Я как раз об этом писал -
Цитата _Boroda_, 27.10.2017 в 16:02, в сообщении № 7 ( писал(а)):
невидимую кнопку (VisibleDropDown:=False)


Чтобы не мучиться с переносом макросов, сделайте проще - перенесите весь мой лист к себе в книгу и вставьте на этот лист свои данные. Там уже все подвязано и должно работать


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПолностью поддерживаю. И именно поэтому я все-таки с фильтром и сделал.
evokharkov, отвечаю на Ваш вопрос в личке -
Совершенно верно, привязал к фильтру, а стрелочку у него спрятал. Параметр VisibleDropDown отвечает за видимость стрелочки автофильтра в каждом конкретном столбце. Я как раз об этом писал -
Цитата _Boroda_, 27.10.2017 в 16:02, в сообщении № 7 ( писал(а)):
невидимую кнопку (VisibleDropDown:=False)


Чтобы не мучиться с переносом макросов, сделайте проще - перенесите весь мой лист к себе в книгу и вставьте на этот лист свои данные. Там уже все подвязано и должно работать

Автор - _Boroda_
Дата добавления - 30.10.2017 в 12:25
evokharkov Дата: Понедельник, 30.10.2017, 12:39 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Цитата _Boroda_, 30.10.2017 в 12:25, в сообщении № 17 ( писал(а)):
Чтобы не мучиться

Если свои данные на ваш лист тащить, тоже морока, там большая таблица.
И все же хотел бы ваш способ для себя понять, понравился.
Если может, подскажите.
Прикрепляю исходный файл без макросов, под который вы писали макросы, чтоб заработал ваш первый макрос

Sub Skr1()
    If Me.AutoFilterMode Then
        Columns("B:B").AutoFilter
    End If
    Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterFontColor, VisibleDropDown:=False
End Sub



как я понимаю надо в файле в нужном месте поставить автофильтр и создать макрос с вашим текстом, так?
 
Ответить
Сообщение
Цитата _Boroda_, 30.10.2017 в 12:25, в сообщении № 17 ( писал(а)):
Чтобы не мучиться

Если свои данные на ваш лист тащить, тоже морока, там большая таблица.
И все же хотел бы ваш способ для себя понять, понравился.
Если может, подскажите.
Прикрепляю исходный файл без макросов, под который вы писали макросы, чтоб заработал ваш первый макрос

[vba]
Sub Skr1()    If Me.AutoFilterMode Then        Columns("B:B").AutoFilter    End If    Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterFontColor, VisibleDropDown:=FalseEnd Sub
[/vba]

как я понимаю надо в файле в нужном месте поставить автофильтр и создать макрос с вашим текстом, так?

Автор - evokharkov
Дата добавления - 30.10.2017 в 12:39
_Boroda_ Дата: Понедельник, 30.10.2017, 13:11 | Сообщение № 19
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Автофильтр создавать не нужно, он сам создается
Нужно скопировать сразу все 4 макроса из моего поста выше, ткнуться правой мышой в ярлык листа (пусть этот лист назавыется Дано), выбрать Исходный код (или как-то в этом роде - зависит от версии Excel), в появившееся окошко вставить скопированное, закрыть окно VBA, создать на листе 4 кнопки (если их уже там нет), ткнуться правой мышой в первую кнопку - выбрать пункт "Присвоить макрос", в появившемся списке выбрать "Дано.Skr1". Повторить для остальных кнопок. Обозвать кнопки так, как они названы в моем файле (или в Вашем)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеАвтофильтр создавать не нужно, он сам создается
Нужно скопировать сразу все 4 макроса из моего поста выше, ткнуться правой мышой в ярлык листа (пусть этот лист назавыется Дано), выбрать Исходный код (или как-то в этом роде - зависит от версии Excel), в появившееся окошко вставить скопированное, закрыть окно VBA, создать на листе 4 кнопки (если их уже там нет), ткнуться правой мышой в первую кнопку - выбрать пункт "Присвоить макрос", в появившемся списке выбрать "Дано.Skr1". Повторить для остальных кнопок. Обозвать кнопки так, как они названы в моем файле (или в Вашем)

Автор - _Boroda_
Дата добавления - 30.10.2017 в 13:11
evokharkov Дата: Понедельник, 30.10.2017, 15:56 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Всем спасибо, помогли, из ваших двух сделал третий вариант, просто к своим макросам добавил код скрытия фильтра и вуаля, подсмотрел у _Boroda_ :)
 
Ответить
СообщениеВсем спасибо, помогли, из ваших двух сделал третий вариант, просто к своим макросам добавил код скрытия фильтра и вуаля, подсмотрел у _Boroda_ :)

Автор - evokharkov
Дата добавления - 30.10.2017 в 15:56
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!