我有两列A和B,如果A列具有特定值“High”,则B Column中的相应单元格应包含Date(dd / mm / yyyy)值,否则如果日期值不可用,则单元格应突出显示为红色。我是这个宏的新手,我无法找到这个逻辑。
对不起,这不是评论,但我没有足够的代表。
我有点不清楚如何在B列填充日期。这是我们可以采取给定的东西还是你以某种方式分配日期?如果您可以分享一些关于工作表结构的更多信息,可能会有所帮助,可能是一些“虚拟数据”?
也就是说,这听起来像循环+条件语句的简单情况。我怀疑这对你开箱即用,但你可以尝试在A列和B列上嵌套For循环:
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)
然后确保将公式应用于您关心的所有行。