2017-09-15 4 views
0

私は、このセルがrehireと記されていて、塗りがこの色だと言うこのIfステートメントを持っています。そして、この他のセルには雇用日が書かれています。今では、セルの色に関わらず、セルの色が赤で、セルの色が赤で、他のセルで日付を使用すると、行が削除されます。色の導入を考慮していません。誰かが私がどこに間違って行ったか教えてくれますかステートメントが色を考慮しない場合

Dim lngRow As Long 
Dim lngRows As Long 
'Find the last row in Column A 
lngRows = Range("A" & Rows.Count).End(xlUp).Row 

For lngRow = lngRows To 2 Step -1 
    If LCase(ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "A").Value) = "rehire" _ 
     And ((ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "E").FormatConditions(1).Interior.Color) = RGB(255, 199, 206) _ 
     And LCase(ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "I").Value) = "hire date") Then 
     ActiveWorkbook.Worksheets("Sheet1").Rows(lngRow).EntireRow.Delete _ 

    End If 
Next 

実は、今私は、セルの書式を設定して、カスタムカラーを埋めるために行くために行く場合、私は、それを見ていること、それがすべて0であり、それは何の塗りつぶしがないと言います。塗りつぶしの色は、条件付き書式設定によって行われました。私は条件付き書式から得た13551615という別の数値を使用していましたが、それはどちらも機能しませんでした。 3つの要件をすべて満たしていないため、コードを削除する必要はありません。私はこれを考えて間違っていますか?

+2

"塗りつぶしの色は条件付き書式で行われました" - 塗りつぶしに頼るのではなく、セルが色付きであるかどうかを判断するために、その式も使用できますか? – BruceWayne

+0

@BruceWayneどうすればいいか分かりません。条件付き書式設定は、列を選択し、「With Selection.FormatConditions(1).Interior」を使用して行います。私が推測するステートメントをどこに置くのかはわかりません。 If文または何かの周り? – Robillard

+0

@ BruceWayne私は実際に検索のしばらくしてから働いていた答えを見つけました。あなたがそれを行う方法を見たい場合は、私の答えをチェックしてください:)ありがとうバットマン! – Robillard

答えて

0

私はそれを理解しました。この条件付き書式設定では、「FormatConditions」という条件は機能しません。 DisplayFormat.Interior.Colorを使用する必要があります。最初に、このコードを使用して、実際にどの色になっているかを調べました。私はそれが問題ではなかったので、私は色を確認したいと思ったので、私はこれを使用した単一のセルを表示するようにそれを編集することができると確信しています。私は明るい赤のための条件付き書式鉱山から埋める私の色は、38だったら

Sub GetTheColors() 
For i = 1 to 100 
For j = 1 to 10 
     Cells(i,j+10) = Cells(i,j).FormatConditions.Interior.ColorIndex 
Next j 
Next i 
End Sub 

はその後、私は、このように見えるように私のコードを変更し、そしてそれは、その後にそれのために真であるとALL 3つの条件が必要行を削除します。

Dim lngRow As Long 
Dim lngRows As Long 
'Find the last row in Column A 
lngRows = Range("A" & Rows.Count).End(xlUp).Row 

For lngRow = lngRows To 2 Step -1 
    If LCase(ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "A").Value) = "rehire" _ 
     And ((ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "E").DisplayFormat.Interior.ColorIndex) = 38 _ 
     And LCase(ActiveWorkbook.Worksheets("Sheet1").Cells(lngRow, "I").Value) = "hire date") Then 
     ActiveWorkbook.Worksheets("Sheet1").Rows(lngRow).EntireRow.Delete _ 

    End If 
Next 

だから私は基本的にはちょうど私が見つけた私の新しい色でDisplayFormat.Interior.Colorに、FormatConditionsとその数を変更しました。これは条件付き書式設定で機能しました。

関連する問題