用户需要输入包含2列A& A的Excel表格。 B. 如果B有值,则A不能为空。 如果A为空且B有值,则Excel工作表必须抛出错误(要求用户在A中输入值)或突出显示带有颜色的单元格?
如何做到这一点?
谢谢, Deepan Mahendran。
答案 0 :(得分:0)
请将此公式粘贴到 A 列
中
=IF(B1<>"","?","")
&#13;
然后在 A 列中进行条件格式设置,其颜色值为?。因此,如果列 B 具有值且 A 为空,则 A 列将突出显示。
或者您可以通过使用以下公式进行条件格式化来保持简单
=AND($B1<>"",$A1="")
选择 A 列,然后转到常规格式选择&#34;使用公式确定要格式化的单元格&#34;并输入上面的公式并选择要突出显示的颜色然后点击确定..
希望这是你需要的......
答案 1 :(得分:0)
使用条件格式。创建一个新规则,然后插入此公式并选择要突出显示的颜色。输入此公式并选择您需要格式化的范围。在这种情况下,我做了A1:A100
=IF($A1<>"","",INDIRECT("RC[1]",0))
答案 2 :(得分:0)
使用VBA
以下是我认为你想要的东西的开始。
您需要做的是将其粘贴到WorkBook 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
然后,您可以向细胞等添加或删除任何其他格式。
使用条件格式
使用条件格式选择整个B列,然后在“样式”部分的“主页”选项卡中,选择条件格式然后选择新规则,然后选择“使用公式确定哪个要格式化的单元格然后在=IF(INDIRECT("RC1",FALSE) <> "", TRUE, FALSE)
中粘贴以下公式,然后您可以选择要填充B列单元格的哪种颜色。然后,B列中的单元格将突出显示相应的任何值列一个非空的单元格。
选择A列但使用公式=IF(INDIRECT("RC2",FALSE) <> "", TRUE, FALSE)
。
注意例如,如果列B单元格除了空白之外还有任何内容,则列A单元格将是高亮显示,这包括空格。然后,您应该使用数据验证以及引用用户可能输入的有效值的消息。