我一直在研究格式化宏,它根据用户表单中的选择值接受选择并格式化它们。其中一个选项会创建一个大型合并单元格,其颜色渐变从浅红色到深红色。
当我运行宏时,单元格都被适当地格式化,但是当我在工作表中导航时,我注意到一个奇怪的问题,渐变的颜色将变为蓝色而不是红色。有趣的是,原始颜色会随机返回,有时甚至会呈现从蓝色到红色或从红色到蓝色的渐变。
如果我使用格式画家拉出错误的单元格并在其他地方进行测试,新的破碎/更改颜色方案随之移动。我已经包含了下面格式化合并单元格的代码。或许,我是如何指定内饰颜色的?
With Range(WorkingRange(1, 2), WorkingRange(1, WorkingRange.Count - 1))
.Merge
.HorizontalAlignment = xlLeft
.WrapText = True
.Interior.Pattern = xlPatternLinearGradient
.Interior.Gradient.ColorStops.Add(0).Color = 255
.Interior.Gradient.ColorStops.Add(0).TintAndShade = 0
.Interior.Gradient.ColorStops.Add(1).Color = 130
.Font.Bold = True
End With
答案 0 :(得分:1)
您要添加ColorStop
0两次。第二次使用默认颜色。
应该是
...
.Interior.Pattern = xlPatternLinearGradient
.Interior.Gradient.ColorStops.Clear
With .Interior.Gradient.ColorStops.Add(0)
.Color = RGB(255, 0, 0)
.TintAndShade = 0
End With
.Interior.Gradient.ColorStops.Add(1).Color = RGB(130, 0, 0)
...
使用RGB
功能可以更灵活地使用不同的颜色。