Excel VBA条件格式未执行

4
这很奇怪。我正在使用MS Access 2003 VBA创建一个Excel 2003电子表格,并包括条件格式:如果单元格的值大于[a value],则为红色;如果小于[a value],则为绿色。
尽管在生成电子表格时成功创建了CF公式,但所有颜色都是绿色,而不考虑值。如果我手动在单元格中输入原始值,它会触发CF并显示正确,但否则它只是坐在那里显示相同(错误)的颜色。
我尝试过执行application.calculateCalculateFullCalculateFullRebuild,但没有帮助。我尝试了worksheet.calculate。不行。我尝试复制工作表的所有内容到一个新的电子表格中。也不行。我尝试了指定工作表中所有单元格的数字格式。还是不行。
它似乎想要重新计算,但我无法做到。我已经非常努力地搜索了谷歌,但找不到类似这样的信息,这让我觉得我可能遗漏了一些基本东西。

你知道“<”和“小于”是一个意思吗?只是确认一下! - Jean-François Corbett
是的!那是我问题中的一个笔误... - BonnieSF
1个回答

6
似乎你的数据是数值型的,但Excel将其视为文本。以下是解决此问题的方法:
  1. 找到一些空白单元格,并输入数字0。
  2. 复制该单元格(Ctrl-C)。
  3. 选择有问题的数据单元格,使用以下设置进行“粘贴特殊”操作:从“粘贴”部分选择“值”,从“操作”部分选择“加”,然后点击“确定”。
这样做是通过将零添加到每个单元格来实现的,这不会改变它们的值,但会强制Excel将它们视为数值型。

嗨,Rachel,你的想法奏效了!谢谢你!现在我需要想办法将它融入我的VBA代码中。或者,也许有另一种方法可以使Excel将这些视为数字值。有什么想法吗?我会寻找那个特定的东西 - 我不可能是唯一遇到这个问题的人。 - BonnieSF
你是如何将数据导入Excel的?由于某些原因,数字值被解释为文本。 - Rachel Hettinger
我正在使用MS Access的CopyFromRecord方法。从我通过谷歌搜索得到的信息来看,它会从Excel中剥离格式。 - BonnieSF
我搞定了!在分配条件格式的代码部分,我添加了一行将单元格值设置为.value + 0; 然后它就可以工作了!!! - BonnieSF
谢谢Rachel的聪明点子! - BonnieSF

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接