渐变颜色意外改变

我一直在处理一个格式化的macros,它会根据用户窗体中select的值进行select和格式化。 其中一个选项创build一个大的合并单元格,其颜色渐变从浅到深红色。

当我运行macros时,单元格都格式正确,但是当我在表单中导航时,我注意到了一个奇怪的问题,即渐变的颜色将变为蓝色而不是红色。 有趣的是,原始颜色会随机返回,有时甚至会给出从蓝色到红色或红色到蓝色的渐变。

如果我使用格式画家拉动颜色错误的单元格,并在其他地方进行testing,则新的中断/更改颜色scheme随之移动。 我已经包含了格式化合并单元格的代码。 有没有问题,也许,我如何指定内饰的颜色?

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 

您将两次添加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) ... 

使用RGBfunction可以使用不同的颜色更灵活。

Interesting Posts