更新
我尝试在以下情况下使用条件格式:
如果C列中的单元格(以C9开头)Tabelle3.Range(Tabelle3.Cells(9, 3), Tabelle3.Cells(lastcell, 3))
Cell <>""
AND Tabelle4.Range("B2")
其Interior.Color
应更改为Cellclr
及其Font.Color
更改为Fontclr
启动旧帖子: 我查看了有关条件格式的各种帖子,但我找不到任何内容,这可以很好地解决我的问题。
我想将条件格式应用于Excel工作簿,该工作簿将不断扩展。因此,我写了以下代码:
Sub ConForm()
Dim lastcell As Long
Dim Cellclr As Long
Dim Fontclr As Long
lastcell = Tabelle3.Range("A1048576").End(xlUp).Row
Cellclr = RGB(232, 245, 246)
Fontclr = RGB(26, 155, 167)
Set C = Tabelle3.Range(Tabelle3.Cells(9, 3), Tabelle3.Cells(lastcell, 3))
With C.FormatConditions.Add( _
Type:=xlExpression, _
Formula1:="=AND($C9<>"""";"$C9.Value <= Tabelle4.Range(""B2"").Value)")
.Interior.Color = Cellclr
.Font.Color = Fontclr
End With
End Sub
如果我只使用以下范围和公式:
Range("C9")
Formula1:="=C9<>""""")
代码适用于Cell C9。但是,如前所述,它应该是这个公式
=AND($C9<>"""";"$C9.Value <= Tabelle4.Range(""B2"").Value
适用于范围
Tabelle3.Range(Tabelle3.Cells(9, 3), Tabelle3.Cells(lastcell, 3))
有人知道我在哪里犯了错误/错误以及如何解决这个问题?
答案 0 :(得分:1)
您需要正确连接字符串和值。
示例:
MyVariable = "ccc"
result = "aaa" & "bbb" & MyVariable & "AnotherString"
'result is "aaabbbcccAnotherString"
我不确定你尝试了什么,但可能你的意思是
Formula1:="=AND($C9<>"""";" & Range("$C9").Value <= Tabelle4.Range("B2").Value & ")")
或者更像是
Formula1:="=AND($C9<>"""";$C9<=Tabelle4!B2)")
更新
Formula1:="=AND($C9<>"""";$C9<=" & Tabelle4.Range("B2").Value & ")")
答案 1 :(得分:1)
首先,检查格式中的颜色以查看字符串是什么以及不是什么 - 您的公式中间有一个神秘的额外"
,这将阻止代码首先编译。您还尝试将VBA代码(Tabelle4.Range("B2").Value
)放入Excel公式中,但该公式无法正常工作。
如果要在运行宏时修复Tabelle4.Range("B2").Value
的值,可以更改
Formula1:="=AND($C9<>"""";"$C9.Value <= Tabelle4.Range(""B2"").Value)")
到
Formula1:="=AND($C9<>"""";$C9<=" & Tabelle4.Range("B2").Value & ")")