我的excel 2010(以及2013年)也有问题,我有一个页面 带有数据条的工作表,我已将它们设置为实心填充,但每次都是 我关闭并打开文档,它再次变为渐变,非常烦人(因为当它渐渐变成白色时,你无法真正看到进度,这与背景相同......)
检查了Office主页,但无法在任何提到的地方找到此问题。 还尝试了谷歌,只是发现了一些有类似问题的人,但没有解决方案。
为了演示的目的,我可以改变背景等。但是有趣的是,我想确保每次打开这个文件时都是实心填充。当它是实心填充时,它看起来很不错。
我看到有两种方法可以实现:
如果可以更改默认设置(因为我猜这是每次重新打开文件时会发生的事情)。试过谷歌,却无法找到它。
另一种方法是让VBA脚本显示"嘿,这个范围内的所有数据条,你应该有实心条和#34;。
我自己尝试了选项2,但由于我对VBA中的脚本编写起来很新,我没有成功,但看起来我的尝试是这样的:
Private Sub Workbook_Open()
dad = Range("A1:Z100")
Dim b As Databar
b = dad.FormatCondition.AddDatabar
b.BarFillType = xlDataBarFillSolid
End Sub
但那不起作用,我想应该创建条形,然后在这些条上使用这些选项,但我已经有一个可能有200条的文档,看起来非常精细,除了它们失去固体选项。 而且由于它们依赖于不同的数字(数据条),我无法通过一条规则来统治它们所有的数据。 (条件格式化)。
更新时间:2015-05-22
通过以下代码
管理以创建我喜欢的新数据库
Sub TestDatabars()
' column B real values
Dim B1rv As Databar
Range("B6:B10, B14:B37,B42:B43").Select
' remove old settings (gradient fill)
With Selection
.FormatConditions(1).Delete
End With
' add a new one
Set B1rv = Selection.FormatConditions.AddDatabar
With B1rv
.BarFillType = xlDataBarFillSolid
End With
With B1rv.BarColor
.Color = RGB(146, 208, 80)
End With
B1rv.MinPoint.Modify newtype:=xlConditionValueNumber, newvalue:=0
B1rv.MaxPoint.Modify newtype:=xlConditionValueNumber, newvalue:=Range("B1")
end sub

但我想如果我需要更改所有旧的数据库(大约100个数据条)或者是否有更常见的方法,问题仍然存在。
将通过选择范围来测试一些事情,看看我是否已经编辑了那些。
答案 0 :(得分:0)
试试这个:
Set b = dad.FormatCondition.AddDatabar
注意关键字Set
- 您需要在分配对象时使用它。