基于单元格N1中的值在单元格A1中进行条件格式化

时间:2017-10-21 21:47:16

标签: excel excel-vba excel-formula vba

   A          N
1  My Test    0

如果单元格N = 0中的值,如何使MyTest成为红色字体?我探索了条件格式,但似乎它不允许我在不同于自身的不同单元格的值上设置条件。

4 个答案:

答案 0 :(得分:2)

您可以使用条件格式,如下所示。

解释 - L1 - 连接到所选范围内的第一个单元格(对于K1,它使用L1,对于K2使用L2等),2,它等于的值。

conditional formatting example

答案 1 :(得分:1)

您需要适当使用固定/动态单元格。

受影响的区域将是:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

公式为:

    private void btnGo_Click(object sender, EventArgs e)

    {
        int[] bluesky = new int[100];

        for (int i = 1; i < 101; i++)
        {
            if (i % 3 == 0 & i % 7 == 0)
            {
                listBox1.Items.Add("BlueSky");
            }
            else if (i % 3 == 0)
            {
                listBox1.Items.Add("Blue");
            }
            else if (i % 7 == 0)
            {
                listBox1.Items.Add("Sky");
            }
            else listBox1.Items.Add(i = i + 0);
        }
    }

如果你要做一整行颜色,根据公式= N1 = 0,你受影响的范围是:

=A1 'Note no $s

然后将颜色设置为true。

在设置新规则之前,有助于选择受影响的范围。如果在设置规则之前未选择受影响的范围,请返回AFTER设置规则公式。

答案 2 :(得分:1)

您可以尝试使用VBA代码。 将以下过程添加到ThisWorkbook

Private Sub Worksheet_Change(ByVal Target As Range)
  If Range("N1").Value = 0 Then
    Range("A1").Font.ColorIndex = 3 ' 3 indicates Red Color
  End if
End Sub

每次工作表中的某些内容发生变化时,此过程都会运行。 如果您只需要在更改N1时运行,则可以添加以下代码。

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$N$1" Then
    If Target.Value = 0 Then
      Range("A1").Font.ColorIndex = 3 ' 3 indicates Red Color
    End If
  End if
End Sub

希望有所帮助

答案 3 :(得分:1)

这是你做的。转到Home > Styles > Conditional Formatting > New Rule > Use a formula ...,这是您可以尝试的公式:

=($N1=0)

关键是$符号,我只在$前面设置N符号,因为我不想让N更改拖下公式。你需要确定这是否是你想要的。

然后我将此设置应用于我的示例中的=$A$1:$A$5单元格,您需要相应地进行调整。希望这会有所帮助,但请告诉我任何问题。