在excel中为单个单元格添加两种颜色

时间:2014-12-04 07:14:39

标签: excel excel-vba vba

是否可以在一个单元格中填充两种颜色?

(例如:具有红色的A1细胞的一半和具有绿色的A11细胞的另一半)

3 个答案:

答案 0 :(得分:1)

这应该可以使用 Format Cell>填充标签>填充效果

选择

两种颜色(选择颜色)

答案 1 :(得分:1)

使用Color Gradients,以下编码取自本网站,希望对您有所帮助:

http://software-solutions-online.com/2014/04/09/excel-vba-gradients-colors/

Sub Example1_a()
Dim objColorStop As ColorStop
Dim lngColor1 As Long

'creates the gradient in cell A1 
Range("A1").Interior.Pattern = xlPatternLinearGradient
'changes its orientation 
Range("A1").Interior.Gradient.Degree = 90
'gets the color code for the second colorstop object 
lngColor1 = Range("A1").Interior.Gradient.ColorStops(2).Color
'clears the previous colostop objects 
Range("A1").Interior.Gradient.ColorStops.Clear
'creates a colorstop object with the position 0 
Set objColorStop = Range("A1").Interior.Gradient.ColorStops.Add(0)
'changes its color to green 
objColorStop.Color = vbGreen
'creates a colorstop object with the position 1 
Set objColorStop = Range("A1").Interior.Gradient.ColorStops.Add(1)
'changes its color to red 
objColorStop.Color = lngColor1
End Sub 

答案 2 :(得分:1)

  

下面的一些答案建议渐变填充,但是这些并不能明确   切成两种颜色。

在处理了“明确”问题之后,我发现此解决方案如何 “削减”渐变颜色

示例:

.Gradient.ColorStops.Add(0)   .color = color1
.Gradient.ColorStops.Add(0.5) .color = color1
.Gradient.ColorStops.Add(0.51) .color = color2
.Gradient.ColorStops.Add(1)    .color = color2

这将在单元格的前半部分显示color1, 和color2在下半场

当然,您可以在需要的地方做“切割线” 例如位置0.3 | 0.31