我已经编写了一个Excel宏,用条件格式对数据进行排序和突出显示。
=$A1=TODAY() =>使用黄色字体
当我在2007年写它并在2010年执行它时,它制作了$A 1 to 6之类的东西。在重写2010年之后,它在2010年运行良好,但在2007年执行时,它使用了1048572 (1024 *1024-4),我猜这是某种算术溢出。
我反复检查了源代码,这似乎没问题,在所有正确的地方都说了"$A1“。只是不像上面说的那样。
在编译器或2010年使用双引号( 2007使用单引号或任何东西)中有什么不同吗?
编辑:
Selection.FormatConditions(1).StopIfTrue = False
Cells.FormatConditions.Delete
Columns("A:S").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$A1=HEUTE()"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False我把它归咎于第四条线。HEUTE()是今天()
发布于 2014-03-04 21:22:41
我认为这是excel 2007的一些奇怪行为:
如果使用vba设置格式条件,它将设置与活动单元格相关的所有范围,因此,如果C3是活动单元格,则公式中的C3将成为A1 ( D3 A B1)。
下面的内容可能会有所帮助(在列(“A:s”).Select之后)
Range("A1").Activatehttps://stackoverflow.com/questions/22171498
复制相似问题