【发布时间】:2019-10-14 05:35:33
【问题描述】:
我有设置工作表的 vba 代码,其中一个功能是“Y”列的条件格式。当我尝试更改 FormatCondition 对象的 Formula1 时,我得到运行时“1004”。
高尔夫球场将使用 Excel 模板来帮助对大量球员进行的比赛进行评分。我使用单元格填充突出显示来引起对重要值的注意——在这种情况下——“总游戏”中的前三名玩家。 “Y8:Y127”范围的 FormatConditions 集合中存在三个 FormatCondition 对象。我编写了一些代码,部分枚举了现有的 FormatCondition 对象,所以我知道它们在那里并且包含预期的内容。我通过普通的 Excel GUI 创建了这些 - 而不是 vba。
For k = 1 To 3
WST.Range("$Y$8:$Y$127").FormatConditions(k).Modify xlExpression, ,
Replace(strScore, "#", k, 1, 1)
Next k
问题出现在 k = 1 时。
Replace 函数调用导致:
=VLOOKUP(A8,$A$7:$AY$127,51,FALSE)=1
我正在尝试修改 FormatCondition 对象的 Formula1,它开始包含:
=VLOOKUP(A8,$AA$7:$AY$127,25,FALSE)=3
我在调试器中尝试了以下操作:
? Replace(strScore,"#",k,1,1)
=VLOOKUP(A8,$A$7:$AY$127,51,FALSE)=1
? WST.Range("$Y$8:$Y$127").FormatConditions(k).Formula1
=VLOOKUP(A8,$AA$7:$AY$127,25,FALSE)=3
x=WST.Range("$Y$8:$Y$127").FormatConditions(k).Modify(xlExpression,,"=VLOOKUP(A8,$A$7:$AY$127,51,FALSE)=1","")
我尝试激活 WST 表,但结果相同。
所有尝试都会导致运行时错误“1004”
【问题讨论】:
-
感谢格式更新