【发布时间】:2020-05-15 11:15:14
【问题描述】:
我有一个 Range 对象的奇怪行为:不知何故它变成了 Double。
这是我的代码:
Sub Test()
Dim RRange As Range
Set RRange = ThisWorkbook.Worksheets("Sheet1").Range("R4")
Set RRange = RRange.Offset(0, -1)
UpdateConditionalFormatting (RRange)
UpdateConditionalFormatting (ThisWorkbook.Worksheets("Sheet1").Range("R4"))
End Sub
所以第一次调用 UpdateConditionalFormatting 会使程序崩溃(需要对象),第二次调用会起作用。 sub 需要 Range 对象
我不知道这里出了什么问题:(
Sub UpdateConditionalFormatting(ByVal rng As Range)
With rng.FormatConditions.AddColorScale(ColorScaleType:=3)
.SetFirstPriority
.ColorScaleCriteria(1).Type = xlConditionValueLowestValue
.ColorScaleCriteria(1).FormatColor.Color = 8109667
.ColorScaleCriteria(2).Type = xlConditionValuePercentile
.ColorScaleCriteria(2).Value = 50
.ColorScaleCriteria(2).FormatColor.Color = 8711167
.ColorScaleCriteria(3).Type = xlConditionValueHighestValue
.ColorScaleCriteria(3).FormatColor.Color = 7039480
End With
End Sub
【问题讨论】: