我正在尝试根据其他工作表中的值隐藏列。我已经阅读了几篇文章,并不觉得这很困难,但我遇到了一些问题。当Sheets(“Data”)。单元格(2,3)中的值为1时,一切正常,但当我将其更改为2,3或4时,代码会以某种方式突出显示整个电子表格并“隐藏”所有内容。没有意义。下面是使用If..Then的一个版本。我用select case尝试了同样的事情,同样的问题就出现了。
Sub test()
Dim choice As Integer
Sheets("Summary").Select
Range("O:S").Select
Selection.EntireColumn.Hidden = True
choice = CInt(Sheets("Data").Cells(2, 3))
If choice = 1 Then
Range("O:P").Select
Selection.EntireColumn.Hidden = False
ElseIf choice = 2 Then
Range("Q:Q").Select
Selection.EntireColumn.Hidden = False
ElseIf choice = 3 Then
Range("R:R").Select
Selection.EntireColumn.Hidden = False
ElseIf choice = 4 Then
Range("S:S").Select
Selection.EntireColumn.Hidden = False
End If
Sheets("Summary").Cells(1, 1).Select
答案 0 :(得分:2)
尝试摆脱选择。这段代码适合我。
Sub test()
Dim choice As Integer
Sheets("Summary").Activate
range("O:S").EntireColumn.Hidden = True
choice = CInt(Sheets("Data").Cells(2, 3))
If choice = 1 Then
range("O:P").EntireColumn.Hidden = False
ElseIf choice = 2 Then
range("Q:Q").EntireColumn.Hidden = False
ElseIf choice = 3 Then
range("R:R").EntireColumn.Hidden = False
ElseIf choice = 4 Then
range("S:S").EntireColumn.Hidden = False
End If
Sheets("Summary").Cells(1, 1).Select
End Sub