当另一个单元格显示特定文本时如何隐藏某些列

当另一个单元格显示特定文本时如何隐藏某些列

这就是我想要发生的事情:

如果单元格 F6 为空白,则不执行任何操作。
如果单元格 F6 中只有特定文本“A”,则我希望隐藏整列 N、O、Q、T 和 U,隐藏整列。
如果单元格 F6 中只有特定文本“B”,则我希望隐藏整列 L、M、P、R 和 S,隐藏整列但不隐藏其他列,因此如果输入“B”,则上述单元格“A”将重新出现。
然后,如果单元格 B7 没有空白(输入了任何日期或文本),我希望再次取消隐藏所有列。

我也希望实时实现这一点,这样就不必“运行”宏,而是只要在单元格 F6 中输入 A 或 B 并按下 Tab 或 Enter,列就会隐藏。

这是我尝试过的并且错误最少的方法:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Range("F6").Value = "A" Then
    Columns("N:N, O:O, Q:Q, T:T").EntireColumn.Hidden = True
  Else
    Columns("N:N, O:O, Q:Q, T:T").EntireColumn.Hidden = False
  If Range("F6").Value = "B" Then
    Columns("L:L, M:M, P:P, R:R").EntireColumn.Hidden = True
  Else
    Columns("L:L, M:M, P:P, R:R").EntireColumn.Hidden = False
  If Range("B7").Value = "A" Then
    Columns("L:L, M:M, N:N, O:O P:P, Q:Q, R:R, T:T").EntireColumn.Hidden = False
  End If
End Sub

我收到的错误:

阻止 if 且不结束 if

我已编辑以下内容:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Range("F6").Value = "A" Then
    Columns("N:N, O:O, Q:Q, T:T").EntireColumn.Hidden = True
  End If
  If Range("F6").Value = "B" Then
    Columns("L:L, M:M, P:P, R:R").EntireColumn.Hidden = True
  End If
  If Range("B7").Value = "A" Then
    Columns("L:L, M:M, N:N, O:O P:P, Q:Q, R:R, T:T").EntireColumn.Hidden = False
  End If
End Sub 

但现在我得到了错误

类型不匹配

相关内容