2017-08-08 15 views
0

質問があります: 2つの異なる条件付き書式を同時に作成しようとしています。 しかし、それは第2のものだけで動作します。 イム場合とELSEIFを使用して、それらの両方の仕事を得るために書くためにどのような私が持っている唯一のendifの 働い?もう1つ後の最初の?条件付き書式設定vba with if

For Each cell In Range("A1:AA1") 

    If cell.Value = "GM WP6 Sensor Status" Then 

Cells.FormatConditions.Delete 
    Columns("H:H").Select 
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _ 
     Formula1:="=32671" 
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
    With Selection.FormatConditions(1).Interior 
     .PatternColorIndex = xlAutomatic 
     .Color = 255 
     .TintAndShade = 0 
    End With 
    'Selection.FormatConditions(1).StopIfTrue = False 
    Columns("H:H").Select 
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ 
     "=LEN(TRIM(H1))=0" 
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
    With Selection.FormatConditions(1).Interior 
     .Pattern = xlNone 
     .TintAndShade = 0 
    End With 
    Selection.FormatConditions(1).StopIfTrue = False 
    Range("A1").Select 

''''''''''''''''''''''''''Tikrina kita 


ElseIf cell.Value = "GM WP6 Sensor Status light" Then 

Cells.FormatConditions.Delete 
    Columns("I:I").Select 
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _ 
     Formula1:="=32767" 
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
    With Selection.FormatConditions(1).Interior 
     .PatternColorIndex = xlAutomatic 
     .Color = 255 
     .TintAndShade = 0 
    End With 
    Selection.FormatConditions(1).StopIfTrue = False 
    Columns("I:I").Select 
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ 
     "=LEN(TRIM(I1))=0" 
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
    With Selection.FormatConditions(1).Interior 
     .Pattern = xlNone 
     .TintAndShade = 0 
    End With 
    Selection.FormatConditions(1).StopIfTrue = False 
    Range("A1").Select 
    End If 
Next cell 

答えて

1

この試して与えてください...

Sub ConditionalFormatting() 

Columns("H:H").FormatConditions.Delete 
Columns("I:I").FormatConditions.Delete 

If Application.CountIf(Range("A1:AA1"), "GM WP6 Sensor Status") > 0 Then 
    Columns("H:H").FormatConditions.Add Type:=xlExpression, Formula1:= _ 
     "=AND(LEN(TRIM(H1))>0,H1<>32671)" 
    Columns("H:H").FormatConditions(Columns("H:H").FormatConditions.Count).SetFirstPriority 
    With Columns("H:H").FormatConditions(1).Interior 
     .PatternColorIndex = xlAutomatic 
     .Color = 255 
     .TintAndShade = 0 
    End With 
End If 

If Application.CountIf(Range("A1:AA1"), "GM WP6 Sensor Status light") > 0 Then 
    Columns("I:I").FormatConditions.Add Type:=xlExpression, Formula1:= _ 
     "=AND(LEN(TRIM(I1))>0,I1<>32671)" 
    Columns("I:I").FormatConditions(Columns("I:I").FormatConditions.Count).SetFirstPriority 
    With Columns("I:I").FormatConditions(1).Interior 
     .PatternColorIndex = xlAutomatic 
     .Color = 255 
     .TintAndShade = 0 
    End With 
End If 
End Sub 
+0

実行時エラー5無効なプロシージャ呼び出しまたは引数。 ="= AND(LEN(TRIM(H1))> 0、H1 <> 32671)" –

+0

私はいくつかの訂正をしています今働いています:) thanks @sktneer –

+0

@SkirmanteValentaiteよろしくお願いします! :) – sktneer