Excel VBA – FormatConditions

我想在我的应用程序中使用随后的vba代码

.FormatConditions.Add Type:=xlExpression, Formula1:="=Mod(Column(), 2)" 

我收到一个错误

错误编号5.无效的参数

那个代码有什么问题? 谢谢

这是我在我的子完整的代码..所有FomatConditions工作正常 – 除了最后两个..

  ' FormatConditions With Range("K6:BH" & lastUsedRow) .FormatConditions.Delete ' Prozent .FormatConditions.Add Type:=xlExpression, Formula1:="=Prozent" .FormatConditions(1).StopIfTrue = False .FormatConditions(1).Interior.Pattern = xlNone .FormatConditions(1).Interior.Color = RGB(174, 170, 170) With .FormatConditions(1).Borders(xlBottom) .LineStyle = xlContinuous .ColorIndex = 2 .Weight = xlThin End With ' Prozent unter .FormatConditions.Add Type:=xlExpression, Formula1:="=ProzentUnter" .FormatConditions(2).StopIfTrue = False .FormatConditions(2).Interior.Color = RGB(255, 192, 0) With .FormatConditions(2).Borders(xlBottom) .LineStyle = xlContinuous .ColorIndex = 2 .Weight = xlThin End With ' ist .FormatConditions.Add Type:=xlExpression, Formula1:="=Ist" .FormatConditions(3).StopIfTrue = False .FormatConditions(3).Interior.Color = RGB(208, 206, 206) .FormatConditions(3).Interior.Pattern = xlLightUp .FormatConditions(3).Interior.PatternColor = RGB(68, 84, 106) With .FormatConditions(3).Borders(xlBottom) .LineStyle = xlContinuous .ColorIndex = 2 .Weight = xlThin End With ' ist unter .FormatConditions.Add Type:=xlExpression, Formula1:="=IstUnter" .FormatConditions(4).StopIfTrue = False .FormatConditions(4).Interior.Color = RGB(255, 192, 0) .FormatConditions(4).Interior.Pattern = xlLightUp .FormatConditions(4).Interior.PatternColor = RGB(68, 84, 106) With .FormatConditions(4).Borders(xlBottom) .LineStyle = xlContinuous .ColorIndex = 2 .Weight = xlThin End With ' Plan .FormatConditions.Add Type:=xlExpression, Formula1:="=Planen" .FormatConditions(5).StopIfTrue = False .FormatConditions(5).Interior.Color = RGB(255, 255, 255) .FormatConditions(5).Interior.Pattern = xlLightUp .FormatConditions(5).Interior.PatternColor = RGB(68, 84, 106) With .FormatConditions(5).Borders(xlBottom) .LineStyle = xlContinuous .ColorIndex = 2 .Weight = xlThin End With ' timee .FormatConditions.Add Type:=xlExpression, Formula1:="=K$5=$F$1" .FormatConditions(6).StopIfTrue = False .FormatConditions(6).Interior.Color = RGB(198, 224, 180) With .FormatConditions(6).Borders(xlLeft) .LineStyle = xlContinuous .Color = RGB(209, 136, 27) .Weight = xlThin End With With .FormatConditions(6).Borders(xlRight) .LineStyle = xlContinuous .Color = RGB(209, 136, 27) .Weight = xlThin End With .FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(COLUMN(), 2)" .FormatConditions(7).Interior.Color = RGB(242, 242, 242) '.FormatConditions.Add Type:=xlExpression, Formula1:="=Mod(Column(), 2)=0" '.FormatConditions(8).Interior.Color = RGB(255, 255, 255) End With 

原因是您的计算机上的区域设置。 您应该使用semicolon来分隔公式参数,而不是comma 。 因此,而不是这一行:

 .FormatConditions.Add Type:=xlExpression, Formula1:="=Mod(Column(), 2)" 

使用这个:

 .FormatConditions.Add Type:=xlExpression, Formula1:="=Mod(Column(); 2)" 

或者你可以改变你的区域设置。