Я пытаюсь найти ячейку в этой таблице на основе определенных критериев. Это критерии:
- Поиск столбца «Дата начала» сверху вниз для ячеек с индексом цвета 35; поиск только строк, которые не скрыты фильтрами
- Найдите первую ячейку в столбце «Дата начала» с индексом цвета 35, для которого смежная ячейка в столбце «Дата окончания» имеет индексный цвет, отличный от 35
- Получить дату в этой конкретной ячейке, найденной
- Отфильтровать все дни до этого дня; показывать только эту ячейку и расположенные под ней
- Сохранять сортировку столбцов на месте; не очищать сортировку
- Тогда я назначу ее кнопке
РЕДАКТИРОВАТЬ Прошло много времени с тех пор, как я обновил этот пост и у меня все еще есть некоторые проблемы.
Вот как выглядит таблица до запуска моего текущего макроса:
Затем после запустить его; данные выглядят так: https://imgur.com/XTac3ua
В настоящее время все строки скрыты. Вот мой текущий код:
Private Sub testFilter_Click()
'Intiansiate objects and setup variables
Dim tbl As ListObject
'Set object/variable values
Set tbl = ActiveWorkbook.Worksheets(1).ListObjects("Table1")
With tbl.AutoFilter
' Start Date
With .Filters(2)
.Operator = xlFilterCellColor
.Criteria1.ColorIndex = 35
End With
.ApplyFilter
' End Date
With .Filters(3)
.Operator = xlFilterCellColor
.Criteria1.ColorIndex = xlColorIndexNone
End With
.ApplyFilter
End With
End Sub