Добрый день всем. Есть табл. из двух колонок 1ая - наименование (А), 2ая - кол-во (В), необходимо по колонке кол-во (В) отфильтровать разными вариантами.
Вариант1 - чтобы остались только ячейки, которые выделены цветом. Вариант2 - чтобы остались ячейки в которых текст выделен цветом. Вариант3 - чтобы остались ячейки в которых нет ничего, пусто.
Только главное условие, без прикрепления Фильтра! Можно расширенным фильтром, им у меня получается сделать чтоб оставались только ячейки с цифровым значение и без значений (пусто), а по цвету не получается. Как можно это сделать?
Добрый день всем. Есть табл. из двух колонок 1ая - наименование (А), 2ая - кол-во (В), необходимо по колонке кол-во (В) отфильтровать разными вариантами.
Вариант1 - чтобы остались только ячейки, которые выделены цветом. Вариант2 - чтобы остались ячейки в которых текст выделен цветом. Вариант3 - чтобы остались ячейки в которых нет ничего, пусто.
Только главное условие, без прикрепления Фильтра! Можно расширенным фильтром, им у меня получается сделать чтоб оставались только ячейки с цифровым значение и без значений (пусто), а по цвету не получается. Как можно это сделать?evokharkov
Чтоб на макросы записать и без фильтра, только по макросам работало. Выбрал макрос, показало только текст выделенный цветом, выбрал другой макрос, показало только строки с залитыми ячейками и т.д.
Чтоб на макросы записать и без фильтра, только по макросам работало. Выбрал макрос, показало только текст выделенный цветом, выбрал другой макрос, показало только строки с залитыми ячейками и т.д.evokharkov
А можно убрать потом фильтр и чтоб потом макросы работали по фильтру, но фильтра на листе не было? Нюанс в том, чтоб на листе только макросы остались, а фильтра не было.
Прикрепляю файл, можно реализовать, чтоб эти макросы работали, но фильтра не было вообще на листе?
А можно убрать потом фильтр и чтоб потом макросы работали по фильтру, но фильтра на листе не было? Нюанс в том, чтоб на листе только макросы остались, а фильтра не было.
Прикрепляю файл, можно реализовать, чтоб эти макросы работали, но фильтра не было вообще на листе?evokharkov
Вот такой вариант, но с фильтром мне кажется, что лучше)
Sub cell_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Interior.Color = 16777215Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Sub font_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Font.Color = 0Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Sub empty_cells()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Value <> ""Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Sub show_rows()
Rows("2:" & ActiveSheet.UsedRange.Rows.Count).Hidden = False EndSub
Вот такой вариант, но с фильтром мне кажется, что лучше)
Sub cell_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Interior.Color = 16777215Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Sub font_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Font.Color = 0Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Sub empty_cells()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Value <> ""Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Sub show_rows()
Rows("2:" & ActiveSheet.UsedRange.Rows.Count).Hidden = False EndSub
Конечно лучше. А если еще и невидимую кнопку (VisibleDropDown:=False) ему приделать, то вообще никто не узнает
Sub Skr1() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterFontColor, VisibleDropDown:=False EndSub
Sub Skr2() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(0, 176, 240), Operator:=xlFilterCellColor, VisibleDropDown:=False EndSub
Sub Skr3() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter 1, "", VisibleDropDown:=False EndSub
Sub Skr4() If Me.AutoFilterMode Then
Columns("A:A").AutoFilter EndIf EndSub
Конечно лучше. А если еще и невидимую кнопку (VisibleDropDown:=False) ему приделать, то вообще никто не узнает
Sub Skr1() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterFontColor, VisibleDropDown:=False EndSub
Sub Skr2() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(0, 176, 240), Operator:=xlFilterCellColor, VisibleDropDown:=False EndSub
Sub Skr3() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter 1, "", VisibleDropDown:=False EndSub
Sub Skr4() If Me.AutoFilterMode Then
Columns("A:A").AutoFilter EndIf EndSub
Да, так. Скажи как ты узнаешь цифровое значение цвета и заносишь в формулу?
Sub cell_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Interior.Color = 16777215Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Если я правильно понял, то 16777215 это код цвета заливки?!
Второй вопрос. Где тут указывается цвет текста?
Sub font_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Font.Color = 0Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Да, так. Скажи как ты узнаешь цифровое значение цвета и заносишь в формулу?
Sub cell_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Interior.Color = 16777215Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Если я правильно понял, то 16777215 это код цвета заливки?!
Второй вопрос. Где тут указывается цвет текста?
Sub font_color()
Application.ScreenUpdating = False
show_rows For Each cl In Range("B2:B10").Cells If cl.Font.Color = 0Then cl.EntireRow.Hidden = True Next cl
Application.ScreenUpdating = True EndSub
Прежде всего прикладываете файл с расширением, не поддерживающим макросы Макросы к кнопкам Контрл с-Контрл v не привяжет, это вручную нужно делать. На нужную кнопку нужный макрос.
Прежде всего прикладываете файл с расширением, не поддерживающим макросы Макросы к кнопкам Контрл с-Контрл v не привяжет, это вручную нужно делать. На нужную кнопку нужный макрос._Boroda_
Извиняюсь за файл. Но чтот у меня не получается, значит я пересохранил файл в xlsm, захожу в Разрабочик - Visual Basic - Insert - Module - записываю ваш первый макрос, сохраняю и так все 4 макроса. После захожу в макросы Skr1-Skr4 и они пустые. Что делаю не так?
Извиняюсь за файл. Но чтот у меня не получается, значит я пересохранил файл в xlsm, захожу в Разрабочик - Visual Basic - Insert - Module - записываю ваш первый макрос, сохраняю и так все 4 макроса. После захожу в макросы Skr1-Skr4 и они пустые. Что делаю не так?evokharkov
Полностью поддерживаю. И именно поэтому я все-таки с фильтром и сделал. evokharkov, отвечаю на Ваш вопрос в личке - Совершенно верно, привязал к фильтру, а стрелочку у него спрятал. Параметр VisibleDropDown отвечает за видимость стрелочки автофильтра в каждом конкретном столбце. Я как раз об этом писал -
Чтобы не мучиться с переносом макросов, сделайте проще - перенесите весь мой лист к себе в книгу и вставьте на этот лист свои данные. Там уже все подвязано и должно работать
Полностью поддерживаю. И именно поэтому я все-таки с фильтром и сделал. evokharkov, отвечаю на Ваш вопрос в личке - Совершенно верно, привязал к фильтру, а стрелочку у него спрятал. Параметр VisibleDropDown отвечает за видимость стрелочки автофильтра в каждом конкретном столбце. Я как раз об этом писал -
Чтобы не мучиться с переносом макросов, сделайте проще - перенесите весь мой лист к себе в книгу и вставьте на этот лист свои данные. Там уже все подвязано и должно работать_Boroda_
Если свои данные на ваш лист тащить, тоже морока, там большая таблица. И все же хотел бы ваш способ для себя понять, понравился. Если может, подскажите. Прикрепляю исходный файл без макросов, под который вы писали макросы, чтоб заработал ваш первый макрос
Sub Skr1() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterFontColor, VisibleDropDown:=False EndSub
как я понимаю надо в файле в нужном месте поставить автофильтр и создать макрос с вашим текстом, так?
Если свои данные на ваш лист тащить, тоже морока, там большая таблица. И все же хотел бы ваш способ для себя понять, понравился. Если может, подскажите. Прикрепляю исходный файл без макросов, под который вы писали макросы, чтоб заработал ваш первый макрос
Sub Skr1() If Me.AutoFilterMode Then
Columns("B:B").AutoFilter EndIf
Columns("B:B").AutoFilter Field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterFontColor, VisibleDropDown:=False EndSub
как я понимаю надо в файле в нужном месте поставить автофильтр и создать макрос с вашим текстом, так?evokharkov
Автофильтр создавать не нужно, он сам создается Нужно скопировать сразу все 4 макроса из моего поста выше, ткнуться правой мышой в ярлык листа (пусть этот лист назавыется Дано), выбрать Исходный код (или как-то в этом роде - зависит от версии Excel), в появившееся окошко вставить скопированное, закрыть окно VBA, создать на листе 4 кнопки (если их уже там нет), ткнуться правой мышой в первую кнопку - выбрать пункт "Присвоить макрос", в появившемся списке выбрать "Дано.Skr1". Повторить для остальных кнопок. Обозвать кнопки так, как они названы в моем файле (или в Вашем)
Автофильтр создавать не нужно, он сам создается Нужно скопировать сразу все 4 макроса из моего поста выше, ткнуться правой мышой в ярлык листа (пусть этот лист назавыется Дано), выбрать Исходный код (или как-то в этом роде - зависит от версии Excel), в появившееся окошко вставить скопированное, закрыть окно VBA, создать на листе 4 кнопки (если их уже там нет), ткнуться правой мышой в первую кнопку - выбрать пункт "Присвоить макрос", в появившемся списке выбрать "Дано.Skr1". Повторить для остальных кнопок. Обозвать кнопки так, как они названы в моем файле (или в Вашем)_Boroda_
Всем спасибо, помогли, из ваших двух сделал третий вариант, просто к своим макросам добавил код скрытия фильтра и вуаля, подсмотрел у _Boroda_
Всем спасибо, помогли, из ваших двух сделал третий вариант, просто к своим макросам добавил код скрытия фильтра и вуаля, подсмотрел у _Boroda_ evokharkov