我正在构建一个包含许多行的交互式甘特图(这就是为什么我使用VBA的原因),并且在格式化单元格时遇到了麻烦。基本上,我只希望单元格具有基于AND公式的颜色。该公式引用了其他单元格,因此格式不是基于单元格自身的值。 棘手的部分是我的公式需要根据其循环通过的特定行进行更改。我设法建立了可以正确遍历每一行的代码,但是我也无法改变公式。现在,我的代码在我的with-expression的公式部分给了我一个语法错误。 希望大家能帮忙!
我认为问题可能在于连接技巧可能无法与带有语句一起使用。但是我不知道如何以其他方式进行格式化。
Public Sub FormatTest()
Dim Sheet As Object
Dim Area As Range, r As Range
Dim i As Integer
Set Area = Sheets("Styregruppe - Tester").Range("H11:BK58")
For Each r In Area.Rows
For i = 11 To 58
With r.FormatConditions
.Delete
With .Add(Type:=xlExpression, Formula1:="=OG(("C" & i)<=H8;("D" & i)>=H8)")
.Interior.Color = RGB(0, 176, 240)
.StopIfTrue = False
End With
End With
Next i
Next r
End Sub
答案 0 :(得分:1)
此行:.Add(Type:=xlExpression, Formula1:="=OG(("C" & i)<=H8;("D" & i)>=H8)")
如果引号不正确,您将C排除在引号之外,因此它认为它是变量,并且&符位于引号内,因此被解释为字符串字符,而不是串联字符。
您想要类似的内容:.Add(Type:=xlExpression, Formula1:="=OG((C" & i & ")<=H8;(D" &
i & ")>=H8)")