Сравнение двух столбцов и выделение, если указанное значение недоступно - PullRequest
0 голосов
/ 12 марта 2019

У меня есть два столбца A и B. Если столбец A имеет определенное значение «High», то соответствующая ячейка в столбце B должна содержать значение Date (дд / мм / гггг), в противном случае, если значение даты недоступно, ячейка должна выделиться красным. Я новичок в этом макросе и не могу найти логику для этого.

1 Ответ

1 голос
/ 13 марта 2019

Извините, это не комментарий, но у меня недостаточно репутации.

Мне немного непонятно, как даты заполняются в столбце B. Это то, что мы можем принять как данные, или вы как-то назначаете даты? Может помочь, если бы вы могли немного больше рассказать о структуре листа, может быть, некоторые «фиктивные данные»?

Тем не менее, это звучит как прямой случай циклов + условных операторов. Я сомневаюсь, что это будет работать для вас из коробки, но вы можете попробовать вложенные циклы For над столбцами A и B à la:

For Each cell in Range("A:A")
  If cell.Value = "High" Then
      If IsEmpty(Range("B"&cell.Row)) Then       'IsEmpty tests whether the cell is empty, you may need to change this if the cell has some other value in it
        Range("B"&cell.Row).Interior.Color = 255 '255 corresponds to the color red
      End If
  End If
Next cell

Я согласен с Pᴇʜ, вам вообще не нужен VBA для этого. Вы можете применить условное форматирование, используя формулу для правила, а затем использовать такую ​​формулу для ячеек в столбце B:

=IF(A2="High",IF(ISBLANK(B2),TRUE,FALSE),FALSE)

Тогда просто убедитесь, что вы применили формулу ко всем интересующим вас строкам.

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