Microsoft Excel:如果 A 列为空且 B 列不为空,则显示错误
Microsoft Excel : Display Error if Column A is blank and Column B is not blank
用户需要输入包含 2 列 A 和 B 的 Excel sheet。
如果 B 有值,则 A 不能为空。
如果 A 为空且 B 有值,则 Excel sheet 必须抛出错误(要求用户在 A 中输入值)或使用 Color?
突出显示 A 单元格
如何做到这一点?
谢谢,
迪潘·马亨德兰。
请将此公式粘贴到 A 列
=IF(B1<>"","?","")
然后在 A 列中进行条件格式化,其颜色值为 ?。因此,如果 B 列有值且 A 列为空白,则 A 列将突出显示。
或者您可以通过使用以下公式进行条件格式化来保持简单
=AND($B1<>"",$A1="")
Select A 列然后转到常规格式 select "Use a formula to determine which cells to format" 并输入上面的公式并选择颜色突出显示然后点击确定..
希望这是你需要的..
使用条件格式。制定新规则,插入此公式并选择要突出显示的颜色。输入此公式并选择您需要格式化的范围。在这种情况下,我做了 A1:A100
=IF($A1<>"","",INDIRECT("RC[1]",0))
使用 VBA
以下是我相信你想要的开始。
您需要做的是将其粘贴到工作簿 VBA 项目中的 Sheet 特定模块中。有关详细信息,请参见下图。
参见下面的脚本:
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
然后您可以向单元格等添加或删除任何其他格式
使用条件格式
使用条件格式 Select 整个 B 列,然后在“样式”部分的“主页”选项卡中,select 条件格式 然后是新规则,然后是“使用公式来确定要设置格式的单元格。然后将以下公式粘贴到那里 =IF(INDIRECT("RC1",FALSE) <> "", TRUE, FALSE)
然后您可以 select 您想要填写的颜色B 列单元格。然后,B 列中的单元格将突出显示对应的 A 列单元格中不为空的任何值。
对 select 列 A 执行相同操作,但使用公式 =IF(INDIRECT("RC2",FALSE) <> "", TRUE, FALSE)
。
注意 例如,如果 B 列单元格除了为空之外还有任何内容,A 列单元格将高亮显示,这包括 space。然后,您应该将数据验证与引用用户可能输入的有效值的消息一起使用。
用户需要输入包含 2 列 A 和 B 的 Excel sheet。 如果 B 有值,则 A 不能为空。 如果 A 为空且 B 有值,则 Excel sheet 必须抛出错误(要求用户在 A 中输入值)或使用 Color?
突出显示 A 单元格如何做到这一点?
谢谢, 迪潘·马亨德兰。
请将此公式粘贴到 A 列
=IF(B1<>"","?","")
然后在 A 列中进行条件格式化,其颜色值为 ?。因此,如果 B 列有值且 A 列为空白,则 A 列将突出显示。
或者您可以通过使用以下公式进行条件格式化来保持简单
=AND($B1<>"",$A1="")
Select A 列然后转到常规格式 select "Use a formula to determine which cells to format" 并输入上面的公式并选择颜色突出显示然后点击确定..
希望这是你需要的..
使用条件格式。制定新规则,插入此公式并选择要突出显示的颜色。输入此公式并选择您需要格式化的范围。在这种情况下,我做了 A1:A100
=IF($A1<>"","",INDIRECT("RC[1]",0))
使用 VBA
以下是我相信你想要的开始。
您需要做的是将其粘贴到工作簿 VBA 项目中的 Sheet 特定模块中。有关详细信息,请参见下图。
参见下面的脚本:
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
然后您可以向单元格等添加或删除任何其他格式
使用条件格式
使用条件格式 Select 整个 B 列,然后在“样式”部分的“主页”选项卡中,select 条件格式 然后是新规则,然后是“使用公式来确定要设置格式的单元格。然后将以下公式粘贴到那里 =IF(INDIRECT("RC1",FALSE) <> "", TRUE, FALSE)
然后您可以 select 您想要填写的颜色B 列单元格。然后,B 列中的单元格将突出显示对应的 A 列单元格中不为空的任何值。
对 select 列 A 执行相同操作,但使用公式 =IF(INDIRECT("RC2",FALSE) <> "", TRUE, FALSE)
。
注意 例如,如果 B 列单元格除了为空之外还有任何内容,A 列单元格将高亮显示,这包括 space。然后,您应该将数据验证与引用用户可能输入的有效值的消息一起使用。