0

我使用下面的代码在 excel 单元格中插入条件格式..

range("d" & rowno).Select
Selection.Offset(1, 0).EntireRow.Insert
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="= RC > 7"
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 65535 'Yellow
    .TintAndShade = 0
End With

通过比较大于定义的值“7”,上述工作正常......但是如果我传递存储值的变量“lhigh”,并且在公式中传递它,它不起作用。例如; lhigh=7

range("d" & rowno).Select
Selection.Offset(1, 0).EntireRow.Insert
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="= RC > lhigh"
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 65535 'Yellow
    .TintAndShade = 0
End With

请让我知道我们如何计算大于检查我们是否传递变量而不是直接整数值

4

2 回答 2

2

如果我将一个单元格命名为“Arc”,另一个命名为“lhigh”,那么以下子项在 Excel 2007 中对我有用

Sub test()

Dim foo As Range

Set foo = ActiveWorkbook.Sheets("Sheet1").Range("C3")

With foo.FormatConditions _
        .Add(xlExpression, Formula1:="=Arc>lhigh")

    With .Font
        .Bold = True
        .ColorIndex = 4
    End With
End With

End Sub

这将在单元格 C3 上设置条件格式,当 Arc > lhigh 中的值时将启动。

也许您应该将代码简化为类似这样的基本代码,然后添加额外的复杂性。我猜您的问题出在代码的另一部分。

于 2012-09-07T10:30:07.803 回答
2

你需要这个:

Formula1:="= RC > " & lhigh

即您需要使用&运算符进行字符串连接。

"= RC > " & lhigh然后将评估为"= RC > 7"

于 2012-09-07T10:08:07.920 回答