如何在VBA中突出显示列的单元格时包含多个条件?

我在Excel中有一个包含多列数据的工作表,如果数字是<1.0,而另一列的内容(意思是解释为什么某些数据是<1.0),我想用红色突出显示名为“FCCR”的特定列的单元格。是空的。

我想我findFCCR列使用一些逻辑,如:

Dim fccrHeader as Range Set fccrHeader = ActiveSheet.Rows(1).Find("FCCR", lookat:=xlWhole) 

我卡住的地方是考虑如何突出显示单元格IF,并且只有在FCCR值小于1.0的情况下,注释列是空的。 我是否有正确的想法查找FCCR列标题? 非常感谢。

我已经尝试和testing了以下,并按照你的要求:

 Sub foo() Dim val As Variant Dim ColumnNumber As Long Set val = Sheet1.Rows(1).Find("FCCR", lookat:=xlWhole) ColumnNumber = val.Column LastRow = Sheet1.Cells(Sheet1.Rows.Count, ColumnNumber).End(xlUp).Row For i = 1 To LastRow If Sheet1.Cells(i, 12).Value = "" Then 'Change the number 12 to reflect the column which might be empty If Sheet1.Cells(i, ColumnNumber).Value < 1 Then Sheet1.Cells(i, ColumnNumber).Interior.ColorIndex = 3 '3 is equals to red End If End If Next i End Sub 

你可以使用条件格式为此,使用公式?

在这里输入图像说明

尝试这样的事情? 我把它放到一个Active-X控制button,但你可以做worksheet_change如果你想。 与其他用户可能会发现的情况相比,它有点啰嗦

 Private Sub CommandButton1_Click() Dim fccrHeader As Range Dim col, otherCol, row As Integer Set fccrHeader = ActiveSheet.Rows(1).Find("FCCR", lookat:=xlWhole) col = fccrHeader.Column otherCol = 7 ' comment column For row = 2 To 10 'end of data constant or use search If Cells(row, col).Value < 1 And Cells(row, otherCol).Value = "" Then 'also highlights if both are empty, add that logic to check for "" With Cells(row, col).Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 255 .TintAndShade = 0 .PatternTintAndShade = 0 End With End If Next row End Sub