【问题标题】:Excel IF any cells is Y then all other cells are NExcel 如果任何单元格为 Y,则所有其他单元格为 N
【发布时间】:2017-09-27 08:48:16
【问题描述】:

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

【问题讨论】:

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

标签: excel excel-formula


【解决方案1】:

试试下面的代码

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 工作簿

  1. 在 Excel 中打开您的工作簿。
  2. 按 Alt+F11 打开 Microsoft Visual Basic 编辑器。
  3. 在编辑器窗口的左上角,在 Project-VBAProject 窗格下,双击您希望代码工作的工作表名称。
  4. 复制上面的 VBA 代码并将其粘贴到 VBA 编辑器的右侧窗格中。
  5. 最后,更改Range A1:A6 中的值,您应该会得到想要的结果。

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

【讨论】:

    猜你喜欢
    • 2018-09-30
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 2019-08-21
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多