转换VBA代码以在vbscript中运行

时间:2015-04-22 19:31:33

标签: excel vba excel-vba vbscript

我有条件格式的VBA代码。

Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, _
    Formula1:="=$I$10", Formula2:="=$J$10"
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

我有一个创建Excel工作表的vbscript,我需要将该VBA代码应用到Excel工作表中创建的单元格。遇到问题让它运行起来。我知道我需要为excel常量提供实际值,但还有更多内容我还没有得到

到目前为止我做了什么

     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

我需要它将条件格式应用于特定单元格(我定义为priceRange)

1 个答案:

答案 0 :(得分:2)

未测试:

Dim rng, fc, rowNum, finalRowNum, objWorkSheet

'...
'...
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
相关问题