Страницы: 1
RSS
Excel 2016 - поиск ячеек с ручной заливкой
 
Всех приветствую!
Есть табл. Х столбцов х Х строк с числами в рублях. Часть ячеек в табл. заливают разными цветами вручную. Фрагмент такой табл. прикрепил. В реальности диапазон на много больше.
Есть ли способ найти и выделить все ячейки с определенной заливкой? В идеале бы еще скрыть строки, не содержащие ячеек, выделенных заданным цветом.
Изменено: Andy8 - 30.09.2021 14:26:17
 
Вас устроит ответ - можно? Если нет -  ознакомьтесь с правилами форума и прикрепите к первому сообщению пример
 
Использовать стандартный поиск (ctrl+f) выбрать формат, там указать заливку. А вот сокрытие строк - это или через фильтр или макросом.

Цитата
vikttur написал:
Если нет -  ознакомьтесь с правилами форума и прикрепите к первому сообщению пример
Вить а что не так?
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: что не так
Мое сообщение - 13:58:56
Правка первого сообщения - 14:26:17
 
Я не вижу в этом диалоге выбор ячеек по формату. Excel для mac редуцирован(( Либо, не там ищу?..
 
Цитата
Andy8 написал:
Excel для mac редуцирован((
просто он обгрызан. Для мака есть раздел специальный на форуме, но не факт что этот функционал есть.
По вопросам из тем форума, личку не читаю.
 
Цитата
vikttur написал:
Мое сообщение - 13:58:56Правка первого сообщения - 14:26:17
Клянусь косяком  (жаль что не скринил) видел файл но Изменено: - там не было, а твое уже было.
По вопросам из тем форума, личку не читаю.
 
Реже косяки набивай )
 
Вот же ошибся с веткой
2Модератор: перенесите, пжст, в профильную ветку по Mac
 
Здесь тема и помрёт за отсутствием спецов  :D Помянём
Изменено: Jack Famous - 30.09.2021 15:33:43
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Я конечно далеко не спец, да и не факт что еще актуально. Во вложении вариант. Целевой цвет для поиска ячеек задается заливкой ячейки I7.
 
Да это прям спасение!!!
Спасибо вам!
Подскажите, пжст, для чайника - как этот скрипт вставить в мою книгу?
Изменено: Andy8 - 03.10.2021 21:01:16
 
Цитата
Andy8 написал:
как этот скрипт вставить в мою книгу?
Если я правильно понял вопрос, то вставить новый модуль в редакторе VBA, скопировать в него предлагаемый код из файла или этого сообщения и назначить выполнение на какое-либо событие.
А можно вопрос, мне очень интересно зачем вам нужно выделять несколько разрозненных ячеек? Смена цвета заливки?
Код
Sub main()
Dim lRow As Long
Dim lCol As Long
Dim i As Long
Dim j As Long
Dim wb As Workbook
Dim ws As Worksheet
Dim SelectedRng As Range
Dim HideRow As Boolean
Dim CellColor As Long

Set wb = Application.ThisWorkbook
Set ws = wb.Sheets("Sheet")

lRow = ws.Cells.Find(What:="*", After:=Range("A1"), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
lCol = ws.Cells(1, Columns.Count).End(xlToLeft).Column

CellColor = ws.Range("I7").Interior.Color

For i = lRow To 2 Step -1
    HideRow = True
    For j = 1 To lCol
        If ws.Cells(i, j).Interior.Color = CellColor Then
            If SelectedRng Is Nothing Then
                Set SelectedRng = ws.Cells(i, j)
            Else
                Set SelectedRng = Application.Union(SelectedRng, ws.Cells(i, j))
                SelectedRng.Select
            End If
            HideRow = False
        End If
    Next
    If HideRow = True Then
        Cells(i, j).EntireRow.Hidden = True
    End If
Next
End Sub
 
Цель использования данного макроса - формирование списка ФИО на оплату. Т.е. в Столбце А указаны ФИО, а последующих столбцах проекты, где эти ФИО участвовали (одни и теже ФИО участвую в разных проектах с разными гонорарами). Проекты плодятся, а ФИО присылают отчеты не сразу. По мере получения отчетов, ячейка на пересечении проекта и ФИО отмечается желтым в ручном режиме. Как-то так...

Но у меня проблема:
Я перенес макрос в свою книгу. Поменял ячейку с образцом цвета (в макросе в 2-х местах исправил). Но при попытке запустить макрос из меню получаю ошибку - см. Что я делаю не правильно?
 
Предположу, что забыли поменять имя листа. Замените в строке Set ws = wb.Sheets("Sheet") текст в кавычках на название вашего листа с данными.
 
Да, вы правы - заработало!) Подскажите, пжст, как удовлетворить таким условиям:
1. "образцовая" ячейка в А1
2. диапазон для поиска ячеек со строки 3 и ниже (т.к. в строках 1-2 - заголовки)
 
Цитата
Andy8 написал:
1. "образцовая" ячейка в А1.
вместо
Код
CellColor = ws.Range("I7").Interior.Color
подставить
Код
CellColor = ws.Range("A1").Interior.Color

Цитата
Andy8 написал:
2. диапазон для поиска ячеек со строки 3 и ниже (т.к. в строках 1-2 - заголовки)
вместо
Код
For i = lRow To 2 Step -1
подставить
Код
For i = lRow To 4 Step -1
Должно помочь.
 
Цитата
VSerg написал: подставить
For i = lRow To 4 Step -1
Должно помочь.
Подставил "3" - все идеально! Спасибо вам!
Страницы: 1
Наверх