2017-09-15 41 views
0

我有這個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來使它工作。所以首先我使用這個代碼來找到它實際上是什麼顏色。我相信你可以編輯它,使它只顯示我剛使用過的單個單元格,因爲它並不重要,我想檢查顏色。

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 

然後,一旦我有我色彩,這爲淡紅色,從條件格式我的是38加滿,然後,我改變了我的代碼看起來像這樣,然後將其所需的所有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與我的新的顏色,我發現。這適用於條件格式。