Как манипулировать таблицей на основе более чем одного условия - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь найти ячейку в этой таблице на основе определенных критериев. Это критерии:

  1. Поиск столбца «Дата начала» сверху вниз для ячеек с индексом цвета 35; поиск только строк, которые не скрыты фильтрами
  2. Найдите первую ячейку в столбце «Дата начала» с индексом цвета 35, для которого смежная ячейка в столбце «Дата окончания» имеет индексный цвет, отличный от 35
  3. Получить дату в этой конкретной ячейке, найденной
  4. Отфильтровать все дни до этого дня; показывать только эту ячейку и расположенные под ней
  5. Сохранять сортировку столбцов на месте; не очищать сортировку
  6. Тогда я назначу ее кнопке

РЕДАКТИРОВАТЬ Прошло много времени с тех пор, как я обновил этот пост и у меня все еще есть некоторые проблемы.

Вот как выглядит таблица до запуска моего текущего макроса:

enter image description here

Затем после запустить его; данные выглядят так: 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...