简体   繁体   中英

Hide/Unhide Rows

I'm currently working with three sheets. The first one includes all lists and datas. In the second one which is called Input, you can choose between different variables in lists. Depending on what you've chosen in the the Input sheet, in the output sheet the content is displayed.

For example I have a list in the "Input" Sheet where you're able to choose the number of the underlying. When choosing for example 2 everything works well and in the sheet "output" the rows are hidden. Switching from 2 to for example 13 it would not work anymore and it still shows the content of number 2.

Do you know where my mistake is?

I'm working with the following code:

If Target.Address = "$F$8" Then 'Underlying numbers
If Target.Value = "1" Then
Sheets("Output").Rows("66:84").Hidden = True
Sheets("Output").Rows("183:201").Hidden = True
Sheets("Output").Rows("226:244").Hidden = True
Else
If Target.Value = "2" Then
Sheets("Output").Rows("67:84").Hidden = True
Sheets("Output").Rows("184:201").Hidden = True
Sheets("Output").Rows("227:244").Hidden = True
Else
If Target.Value = "3" Then
Sheets("Output").Rows("68:84").Hidden = True
Sheets("Output").Rows("185:201").Hidden = True
Sheets("Output").Rows("228:244").Hidden = True
Else
If Target.Value = "4" Then
Sheets("Output").Rows("69:84").Hidden = True
Sheets("Output").Rows("186:201").Hidden = True
Sheets("Output").Rows("229:244").Hidden = True
Else
If Target.Value = "5" Then
Sheets("Output").Rows("70:84").Hidden = True
Sheets("Output").Rows("187:201").Hidden = True
Sheets("Output").Rows("230:244").Hidden = True
Else
If Target.Value = "6" Then
Sheets("Output").Rows("71:84").Hidden = True
Sheets("Output").Rows("188:201").Hidden = True
Sheets("Output").Rows("231:244").Hidden = True
Else
If Target.Value = "7" Then
Sheets("Output").Rows("72:84").Hidden = True
Sheets("Output").Rows("189:201").Hidden = True
Sheets("Output").Rows("232:244").Hidden = True
Else
If Target.Value = "8" Then
Sheets("Output").Rows("73:84").Hidden = True
Sheets("Output").Rows("190:201").Hidden = True
Sheets("Output").Rows("233:244").Hidden = True
Else
If Target.Value = "9" Then
Sheets("Output").Rows("74:84").Hidden = True
Sheets("Output").Rows("191:201").Hidden = True
Sheets("Output").Rows("234:244").Hidden = True
Else
If Target.Value = "10" Then
Sheets("Output").Rows("75:84").Hidden = True
Sheets("Output").Rows("192:201").Hidden = True
Sheets("Output").Rows("235:244").Hidden = True
Else
If Target.Value = "11" Then
Sheets("Output").Rows("76:84").Hidden = True
Sheets("Output").Rows("193:201").Hidden = True
Sheets("Output").Rows("236:244").Hidden = True
Else
If Target.Value = "12" Then
Sheets("Output").Rows("77:84").Hidden = True
Sheets("Output").Rows("194:201").Hidden = True
Sheets("Output").Rows("237:244").Hidden = True
Else
If Target.Value = "13" Then
Sheets("Output").Rows("78:84").Hidden = True
Sheets("Output").Rows("195:201").Hidden = True
Sheets("Output").Rows("238:244").Hidden = True
Else
If Target.Value = "14" Then
Sheets("Output").Rows("79:84").Hidden = True
Sheets("Output").Rows("196:201").Hidden = True
Sheets("Output").Rows("239:244").Hidden = True
Else
If Target.Value = "15" Then
Sheets("Output").Rows("80:84").Hidden = True
Sheets("Output").Rows("197:201").Hidden = True
Sheets("Output").Rows("240:244").Hidden = True
Else
If Target.Value = "16" Then
Sheets("Output").Rows("81:84").Hidden = True
Sheets("Output").Rows("198:201").Hidden = True
Sheets("Output").Rows("241:244").Hidden = True
Else
If Target.Value = "17" Then
Sheets("Output").Rows("82:84").Hidden = True
Sheets("Output").Rows("199:201").Hidden = True
Sheets("Output").Rows("242:244").Hidden = True
Else
If Target.Value = "18" Then
Sheets("Output").Rows("83:84").Hidden = True
Sheets("Output").Rows("200:201").Hidden = True
Sheets("Output").Rows("243:244").Hidden = True
Else
If Target.Value = "19" Then
Sheets("Output").Rows("84").Hidden = True
Sheets("Output").Rows("201").Hidden = True
Sheets("Output").Rows("244").Hidden = True
Else
Sheets("Output").Rows("66:84").Hidden = False
Sheets("Output").Rows("183:201").Hidden = False
Sheets("Output").Rows("226:244").Hidden = False
Sheets("Output").Rows("67:84").Hidden = False
Sheets("Output").Rows("184:201").Hidden = False
Sheets("Output").Rows("227:244").Hidden = False
Sheets("Output").Rows("68:84").Hidden = False
Sheets("Output").Rows("185:201").Hidden = False
Sheets("Output").Rows("228:244").Hidden = False
Sheets("Output").Rows("69:84").Hidden = False
Sheets("Output").Rows("186:201").Hidden = False
Sheets("Output").Rows("229:244").Hidden = False
Sheets("Output").Rows("70:84").Hidden = False
Sheets("Output").Rows("187:201").Hidden = False
Sheets("Output").Rows("230:244").Hidden = False
Sheets("Output").Rows("71:84").Hidden = False
Sheets("Output").Rows("188:201").Hidden = False    
Sheets("Output").Rows("231:244").Hidden = False
Sheets("Output").Rows("72:84").Hidden = False
Sheets("Output").Rows("189:201").Hidden = False
Sheets("Output").Rows("232:244").Hidden = False
Sheets("Output").Rows("73:84").Hidden = False
Sheets("Output").Rows("190:201").Hidden = False
Sheets("Output").Rows("233:244").Hidden = False
Sheets("Output").Rows("74:84").Hidden = False
Sheets("Output").Rows("191:201").Hidden = False
Sheets("Output").Rows("234:244").Hidden = False
Sheets("Output").Rows("75:84").Hidden = False
Sheets("Output").Rows("192:201").Hidden = False
Sheets("Output").Rows("235:244").Hidden = False
Sheets("Output").Rows("76:84").Hidden = False
Sheets("Output").Rows("193:201").Hidden = False
Sheets("Output").Rows("236:244").Hidden = False
Sheets("Output").Rows("77:84").Hidden = False
Sheets("Output").Rows("194:201").Hidden = False
Sheets("Output").Rows("237:244").Hidden = False
Sheets("Output").Rows("78:84").Hidden = False
Sheets("Output").Rows("195:201").Hidden = False
Sheets("Output").Rows("238:244").Hidden = False
Sheets("Output").Rows("79:84").Hidden = False
Sheets("Output").Rows("196:201").Hidden = False
Sheets("Output").Rows("239:244").Hidden = False
Sheets("Output").Rows("80:84").Hidden = False
Sheets("Output").Rows("197:201").Hidden = False
Sheets("Output").Rows("240:244").Hidden = False
Sheets("Output").Rows("81:84").Hidden = False
Sheets("Output").Rows("198:201").Hidden = False
Sheets("Output").Rows("241:244").Hidden = False
Sheets("Output").Rows("82:84").Hidden = False
Sheets("Output").Rows("199:201").Hidden = False
Sheets("Output").Rows("242:244").Hidden = False
Sheets("Output").Rows("83:84").Hidden = False
Sheets("Output").Rows("200:201").Hidden = False
Sheets("Output").Rows("243:244").Hidden = False
Sheets("Output").Rows("84").Hidden = False
Sheets("Output").Rows("201").Hidden = False
Sheets("Output").Rows("244").Hidden = False
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If

short sample of your code using Select Case . If this code is inside the Worksheet_Change event inside "Output" sheet, then you don't need to use the With Sheets("Output") line.

With Sheets("Output")

    ' ****** Edit 1 ******
    ' first thing" unhide all hidden rows from previous code run
    .Rows("66:84").Hidden = False
    .Rows("183:201").Hidden = False
    .Rows("226:244").Hidden = False

    Select Case Target.Value
        Case "1"
            .Rows("66:84").Hidden = True
            .Rows("183:201").Hidden = True
            .Rows("226:244").Hidden = True

        Case "2"
            .Rows("67:84").Hidden = True
            .Rows("184:201").Hidden = True
            .Rows("227:244").Hidden = True

        ' rest of your cases 3 thourgh 19.....

        Case Else
            .Rows("66:84").Hidden = False
            .Rows("183:201").Hidden = False
            .Rows("226:244").Hidden = False
            ' the rest of your line here are redundant >> can be removed

    End Select

End With

Or, since it looks like this is actually what you are doing...

If Target.Address = "$F$8" Then 'Underlying numbers
  Sheets("Output").Rows("66:84").Hidden = False
  Sheets("Output").Rows("183:201").Hidden = False
  Sheets("Output").Rows("226:244").Hidden = False
  If Target >= 1 And Target <= 19 Then
    Sheets("Output").Rows(65 + Target & ":84").Hidden = True
    Sheets("Output").Rows(182 + Target & ":201").Hidden = True
    Sheets("Output").Rows(225 + Target & ":244").Hidden = True
  End If
End If

Based on other comments....this will reset the hidden rows each time, and then hide as needed.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM