Я новичок в VBA и не могу понять, как это сделать.Я пытаюсь:
- Выбрать все
DOWNTIME_CODES
, которые равны 60 - Выбрать любой
DOWNTIME_CODES
, который следует коду 60 и где DATE_VALUE является последовательным после 60. (Пример.VAN HOOK 2 между датами 9/3 и 9/12).
Я пытался создать макрос, который рассматривает DOWNTIME_CODE
= 60 как отправную точку, а затем просматривает дату, чтобы увидетьесли он последовательный, даже если DOWNTIME_CODE
изменяется на 70, 21 или что-то еще.Есть несколько сотен COMPLETION_NAMES
, поэтому я не могу сделать это вручную, и мне нужно иметь возможность пройти через все завершения.Я попытался использовать оператор IF THEN
для идентификации кода 60, а затем еще один IF THEN
внутри него, чтобы проверить, является ли DATE_VALUE
последовательным, и затем скопировать эти результаты из основной таблицы, а затем начать поиск следующегокод 60. Может быть отдельный код 60 для одного завершения, и возможно иметь только один
Это одна из версий кода, над которой я работал, это упрощенная концептуализация.Я не смог сделать это очень далеко и не могу найти ничего подобного.Это ближайший пример, который я нашел:
, и вот общее представление о том, как я подходил к проблеме.
If DOWNTIME_CODE = 60 Then
If DATE_VALUE = DATE_VALUE.Offset(-1) Then
cell.Offset(0, 2) = CHECK
End If
Else
DOWNTIME_CODE = DOWNTIME_CODE + DOWNTIME_CODE.Offset(0, 1)
End If
Пример данных:
![Example Data](https://i.stack.imgur.com/tq0s3.png)
Любая помощь в подходе или руководство, как это сделать, будет принята с благодарностью!Спасибо, что нашли время, чтобы прочитать мой пост!