背景:我需要为红色或绿色的优质细胞着色。如果细胞更加零,我需要将细胞染成绿色(从细胞中间开始正确),如果细胞不为零,我需要将细胞染成红色(从细胞中间向左) )。
我使用“Microsoft.Office.Interop.Excel”库。
我该怎么做?
P.S。 Cell color changing In Excel using C#不是重复的,因为我只想为一个excel单元格的一半着色,而不是满。
答案 0 :(得分:3)
这(a)可能是作弊(b)或许更好作为评论(但后来没有图像)和(c)可能在这里扩展[excel]标签的重要性,但可能有一些兴趣提到CF可以达到某种目的:
使用以下公式规则格式化ColumnB(红色填充):
=$B1<0
和ColumnC(绿色填充),公式规则为:
=$B1>0
作弊部分是B:C的宽度减小并且格式化为中心选择。
非常模糊与Sparklines相似:
在评论中(带有图像的链接)@BrakNicku指出可以应用数据条(图像相当证明可以用颜色填充一半的Excel单元格)。变量(也称为数据条)的长度与基础值成比例:
答案 1 :(得分:1)
为了解决这个问题,我使用了给定的方案:
给定的宏:
Sub CreateGistograms(r As String)
Range(r).Select
Selection.FormatConditions.AddDatabar
Selection.FormatConditions(Selection.FormatConditions.Count).ShowValue = True
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1)
.MinPoint.Modify newtype:=xlConditionValueAutomaticMin
.MaxPoint.Modify newtype:=xlConditionValueAutomaticMax
End With
With Selection.FormatConditions(1).BarColor
.Color = 8700771
.TintAndShade = 0
End With
Selection.FormatConditions(1).BarFillType = xlDataBarFillGradient
Selection.FormatConditions(1).Direction = xlContext
Selection.FormatConditions(1).NegativeBarFormat.ColorType = xlDataBarColor
Selection.FormatConditions(1).BarBorder.Type = xlDataBarBorderSolid
Selection.FormatConditions(1).NegativeBarFormat.BorderColorType = _
xlDataBarColor
With Selection.FormatConditions(1).BarBorder.Color
.Color = 8700771
.TintAndShade = 0
End With
Selection.FormatConditions(1).AxisPosition = xlDataBarAxisAutomatic
With Selection.FormatConditions(1).AxisColor
.Color = 0
.TintAndShade = 0
End With
With Selection.FormatConditions(1).NegativeBarFormat.Color
.Color = 255
.TintAndShade = 0
End With
With Selection.FormatConditions(1).NegativeBarFormat.BorderColor
.Color = 255
.TintAndShade = 0
End With
End Sub
如何保存宏并从C#create macro at runtime in dotnet
运行他