我已经实现了"A“的效果,如附图所示。我想要达到"B"的结果。所以我需要在水平梯度中插入垂直梯度。

结果"A“就是这样实现的:
With MyRange.Interior
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 0
.Gradient.ColorStops.Clear
End With
With MyRange.Interior.Gradient.ColorStops.Add(0)
.Color = RGB(255, 255, 255)
.TintAndShade = 0
End With
With MyRange.Interior.Gradient.ColorStops.Add(factor1 - 0.0000001)
.Color = RGB(255, 255, 255)
.TintAndShade = 0
End With
With MyRange.Interior.Gradient.ColorStops.Add(factor1)
.Color = statecolor
.TintAndShade = 0
End With
With MyRange.Interior.Gradient.ColorStops.Add(factor2)
.Color = statecolor
.TintAndShade = 0
End With
With MyRange.Interior.Gradient.ColorStops.Add(factor2 + 0.0000001)
.Color = RGB(255, 255, 255)
.TintAndShade = 0
End With发布于 2017-08-12 11:14:17
您已经在0°方向使用.Pattern = xlPatternLinearGradient了。显然,单元格或范围一次只能应用一个梯度:它只有一个Interior和一个Pattern。所以你不能把90°1作为第二个梯度。也许你可以考虑不同的效果,例如对角线方向,从而形成一个黄色的角。
也许您可以通过使用一种添加单元格背景图像(很少的例子)的技术来实现自定义效果,但我不确定它的有效性和可维护性。
https://stackoverflow.com/questions/45649506
复制相似问题