2016-01-18 56 views
-3

用戶需要輸入具有2列的Excel表A & B. 如果B具有值,則A不能爲空。 如果A爲空且B有值,那麼Excel工作表必須拋出錯誤(要求用戶在A中輸入值)或突出顯示帶有顏色的單元格?Microsoft Excel:如果列A爲空且列B不爲空,則顯示錯誤

這是怎麼做到的?

謝謝, Deepan Mahendran。

+0

使用數據驗證自定義公式。谷歌有許多關於如何做到這一點的教程。 –

+0

你嘗試過什麼嗎? – 0m3r

+0

我試過如果空白的公式,沒有按預期鍛鍊。 –

回答

0

使用VBA

下面是一個開始我相信你想要的東西。

您需要做的是將其粘貼到WorkBook VBA項目中特定於表格的模塊中。請參閱下面的圖片瞭解更多詳情

enter image description here

下面

見腳本:

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 

    Dim TargetRowColumnAValue As Range 
    Dim TargetRowColumnBValue As Range 
    Dim CurrentWorkSheet As Worksheet 

    Set CurrentWorkSheet = ThisWorkbook.ActiveSheet 
    Set TargetRowColumnAValue = CurrentWorkSheet.Cells(Target.Row, "A") 
    Set TargetRowColumnBValue = CurrentWorkSheet.Cells(Target.Row, "B") 

    If Not TargetRowColumnBValue = Empty Then 

     If TargetRowColumnAValue = Empty Then MsgBox "Please ensure that data has been inserted into Column A!" 

    End If 

    If Not TargetRowColumnAValue = Empty Then 

     If TargetRowColumnBValue = Empty Then MsgBox "Please ensure that data has been inserted into Column B!" 

    End If 

End Sub 

然後,您可以添加或刪除任何其他格式的單元格,等等。

使用條件格式

使用條件格式在樣式部分選擇整列B,然後在您的主頁選項卡中,選擇條件格式那麼新的規則,然後「使用公式來確定哪些然後將下面的公式粘貼在=IF(INDIRECT("RC1",FALSE) <> "", TRUE, FALSE)中,然後你可以選擇你喜歡填充哪一種顏色的B列單元格,然後B列中的單元格將突出顯示相應A列單元格中的任何值不是空的。

與選擇A列相同,但使用公式=IF(INDIRECT("RC2",FALSE) <> "", TRUE, FALSE)

注意例如,如果列B單元格除空之外還有任何內容,則列A單元格將是高亮的,這包括空格。然後,您應該使用數據驗證和消息來引用用戶可能輸入的有效值。

+0

謝謝讓。 –

+0

@DeepanMahendran是否爲您提供解決方案? –

+0

@ Jean-PierreOosthuizen我們可以通過使用條件格式保持簡單 – Linga

0

請複製粘貼此公式中的一個

=IF(B1<>"","?","")

然後做一個條件格式用於其值爲在一個顏色。因此A列將突出顯示,如果列B有價值和A是空白。

或者,您可以通過使用下面的公式保持簡單做條件格式

=AND($B1<>"",$A1="") 

enter image description here

選擇一個柱,然後進入常規格式選擇「使用公式確定哪些格子格式化「並輸入上面的公式並選擇要加亮的顏色,然後點擊確定..

希望這是你需要的..

+0

感謝您的幫助。但是我需要在列A中有一個值,如果使用上面的公式,我將不能輸入任何值。例如:在列A中,我將始終只有2個值。 「1」或「2」。 –

+0

@DeepanMahendran請檢查更新的答案:) – Linga

0

使用條件格式。制定新的規則,然後插入此公式並選擇要加亮的顏色。輸入此公式並選擇需要格式化的範圍。在這種情況下,我做了A1:A100

=IF($A1<>"","",INDIRECT("RC[1]",0)) 

enter image description here

+0

@Dave你能解釋一下公式會做什麼.. – Linga

+0

@Linga,我不知道我跟着?它做了OP要求還是錯過了什麼? –

+0

@Dave列A應該突出顯示,如果列B不是空的,A是空的,如果我沒有錯你的公式不是這樣做的 – Linga

相關問題