这就是我想要发生的事情:
如果单元格 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
但现在我得到了错误
类型不匹配