Извините, это не комментарий, но у меня недостаточно репутации.
Мне немного непонятно, как даты заполняются в столбце 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)
Тогда просто убедитесь, что вы применили формулу ко всем интересующим вас строкам.