簡體   English   中英

如果單元格之間沒有VBA條件格式

[英]VBA Conditional Formatting if Cell Not Between

我需要使用VBScript將條件格式應用於單元格,以更改單元格的背景色(如果其值不在其他兩個單元格的值之間):

Excel對話框的圖片

宏中的代碼

Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, _
    Formula1:="=$I$28", Formula2:="=$J$28"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 255
    .TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub

我對vbscript的轉換無效

    priceRange = "K"&rowNum + 2
    objWorkSheet.Range(priceRange).FormatConditions.Add Type:=1, Operator:=2, Formula1:="=$I$"&finalRowNum + 1&"", Formula2:="=$J$"&finalRowNum + 1&""
    objWorkSheet.Range(priceRange).FormatConditions(objExcel.Selection.FormatConditions.Count).SetFirstPriority
    objWorkSheet.Range(priceRange).FormatConditions(1).Interior.PatternColorIndex = -4105
    objWorkSheet.Range(priceRange).FormatConditions(1).Interior.Color = 255
    objWorkSheet.Range(priceRange).FormatConditions(1).Interior.TintAndShade = 0
    objWorkSheet.Range(priceRange).FormatConditions(1).StopIfTrue = False

起作用的代碼

Set rng = objWorkSheet.Range("K" & rowNum + 2)

'vbscript doesn't support named arguments, only positional
Set fc = rng.FormatConditions.Add(1, 2, _
                                 "=$I$" & finalRowNum, _
                                 "=$J$" & finalRowNum)
fc.SetFirstPriority

With fc.Interior
    .PatternColorIndex = -4105
    .Color = 255
    .TintAndShade = 0
End With

fc.StopIfTrue = False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM