Excel如果任何单元格为Y,则所有其他单元格均为N

Excel如果任何单元格为Y,则所有其他单元格均为N,excel,excel-formula,Excel,Excel Formula,我需要一些关于excel公式的建议。 我有6个单元格(A1到A6)-如果其中任何一个是“Y”,那么我希望所有其他单元格自动填充为“N”。 有办法做到这一点吗?试试下面的代码 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Set rng = Range("A1:A6") 'set rng as A1:A6 If Not Intersect(Target, Target.Work

我需要一些关于excel公式的建议。 我有6个单元格(A1到A6)-如果其中任何一个是“Y”,那么我希望所有其他单元格自动填充为“N”。 有办法做到这一点吗?

试试下面的代码

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Set rng = Range("A1:A6")    'set rng as A1:A6
    If Not Intersect(Target, Target.Worksheet.Range("A1:A6")) Is Nothing Then
        Application.EnableEvents = False
        If UCase(Target) = "Y" Then 'check if entered value is Y
            rng.Value = "N"         'make cells N
            Target = "Y"
        End If
        Application.EnableEvents = True
    End If
End Sub
将VBA代码插入Excel工作簿

  • 在Excel中打开工作簿
  • 按Alt+F11打开Microsoft Visual Basic编辑器
  • 在编辑器窗口的左上角,在“项目VBAProject”窗格下,双击要使用代码的图纸名称
  • 复制上面的VBA代码并将其粘贴到VBA编辑器的右窗格中
  • 最后,更改
    范围A1:A6中的值,您应该会得到所需的结果

  • 要了解如何在工作簿中输入此代码,请参见。

    我尝试了=IF(或(H2=“Y”、J2=“Y”、K2=“Y”、L2=“Y”、M2=“Y”)、“N”和“)只是希望有一种更简单/更好的方法。使用公式只能更改公式所在单元格的值。您不能使用公式更改其他单元格的值,您必须使用VBA。我理解这一点,但我希望有一些公式可以轻松地在所有单元格中重复使用。您对VBA解决方案感兴趣吗?Mrig,是的,我可以尝试,但我以前从未使用过VBA。