2012-11-22 53 views
1

我想突出顯示excel表格單元格(列'A')的何時不包含文本,如「驗證」,「驗證」或「評估」在'B'列的相應單元中保持值'Y'。Excel中的條件格式適用於以下情景

如果列'B'中的相應單元格的值爲'N',則列'A'不能包含'驗證','驗證'和'評估'等單詞。所以只需要突出顯示那些差異。

列 'A':按Enter鍵,確認這個和這個...

列 'B':Y

回答

0

這是簡單的例子。但是,如果列B不能爲空,則可以縮短第二個公式。看看這符合...

Example

編輯

這裏的要求VBA例子。您需要保存代碼到當前工作表(例如:Sheet1中)...

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim str As String 
    Dim lCol As Long 
    Dim oCell As Object 
    Dim oCellFormat As Object 
    lCol = Target.Column 

    If lCol = 1 Or lCol = 2 Then 
     Set oCell = Cells(Target.Row, 1) 
    Else 
     GoTo mExit 
    End If 
    str = UCase(oCell.Value) 
    Set oCellFormat = Cells(oCell.Row, 1) 
    If (str = "VERIFY" Or str = "VALIDATE" Or str = "EVALUATE") Then 
     If UCase(Cells(oCell.Row, 2).Value) = "N" Then 
      oCellFormat.Interior.ColorIndex = 3 'red 
     ElseIf UCase(Cells(oCell.Row, 2).Value) = "Y" Then 
      oCellFormat.Interior.ColorIndex = 4 'green 
     Else 
      oCellFormat.Interior.ColorIndex = 2 'white 
     End If 
    Else 
     oCellFormat.Interior.ColorIndex = 2 'white 
    End If 
    GoTo mExit 
    Exit Sub 
mExit: 
    Set oCell = Nothing 'free resources 
    Set oCellFormat = Nothing 
End Sub 
+0

Yes..this幫助,但它是實現與宏的幫助下同樣可行,那麼請讓我知道或指南我如何在宏的幫助下做到這一點! –

+0

如果列B有「N」,您是否試圖阻止用戶輸入Verify/Evaluate/Validate?如果是這樣,我會建議你數據 - >驗證選項; ...這個簡單的任務VBA不是我會推薦的。但是,如果您堅持我可以輕鬆編寫幾行代碼以使其適用於VBA。現在,如果我開始爲您編寫VBA,您希望專注於單元格並鎖定用戶,直到進行更正爲止?或者你只需​​要着色。正如我所說的,所有可以完成(着色;鎖定用戶,直到輸入校正值)有和沒有VBA。等待澄清... – salih0vicX

+0

我只需要着色..不想讓它保護一個...但想要訪問這兩個版本的代碼...如果它可能爲你提供我兩個版本...所以,我可以學習:) –