Results 1 to 3 of 3

Hide All Rows with 0 Each time a Data Validation is Changed

Threaded View

  1. #1
    Forum Contributor
    Join Date
    02-14-2011
    Location
    West Valley City, Utah
    MS-Off Ver
    Excel 2010
    Posts
    108

    Hide All Rows with 0 Each time a Data Validation is Changed

    Good afternoon all,

    I've got a document with a handful of data validations that hide/show X rows depending on what is chosen via the data validation, and I'm looking for some code that will hide all rows that have a value of 0 when the row is unhidden via value selected in data validation. Below is some code that works wonderfully for the purpose of hiding the 0s when data validation is selected; the only issue Im having with it is anytime I change ANY cell, it runs (and takes a few moments to complete, which is annoying). Ultimately what I'm looking for is an alternate to the below code that does what the below code does, but only when a data validation is the value that is changing.

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long, j As Long
    Application.ScreenUpdating = False
           
        If Target.Address = "$C$3" Then
            Range("A5:A472").EntireRow.Hidden = True
            Select Case Target.Text
                Case " ":     Range("A5:A112").EntireRow.Hidden = False
                Case "HD":   Range("A113:A228").EntireRow.Hidden = False
                Case "WR":  Range("A229:A348").EntireRow.Hidden = False
                Case "HD WR":  Range("A349:A472").EntireRow.Hidden = False
                For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
                If Range("A" & i) = 0 Then
                Do Until Range("A" & j + 1) <> 0: j = j + 1: Loop
                Range("A" & i & ":A" & j).EntireRow.Hidden = True
                End If: Next i
            End Select
        End If
    
        If Target.Address = "$C$499" Then
            Range("A501:A920").EntireRow.Hidden = True
            Select Case Target.Text
                Case "C":   Range("A501:A704").EntireRow.Hidden = False
                Case "XLC":    Range("A705:A812").EntireRow.Hidden = False
                Case "A":  Range("A813:A920").EntireRow.Hidden = False
                
            End Select
        End If
        
        
        If Target.Address = "$C$945" Then
            Range("A947:A1066").EntireRow.Hidden = True
            Select Case Target.Text
                Case " ":   Range("A947:A1066").EntireRow.Hidden = False
               
                End Select
        End If
        
        If Target.Address = "$C$1093" Then
            Range("A1095:A3042").EntireRow.Hidden = True
            Select Case Target.Text
                Case "200 WSB":     Range("A1095:A1266").EntireRow.Hidden = False
                Case "200 Chubs":     Range("A1267:A1426").EntireRow.Hidden = False
                Case "250 WSB":    Range("A1427:A1606").EntireRow.Hidden = False
                Case "250 Chubs":     Range("A1607:A1766").EntireRow.Hidden = False
                Case "250 MS+ Chubs":     Range("A1767:A1942").EntireRow.Hidden = False
                Case "250 MS+ WSB":    Range("A1943:A2078").EntireRow.Hidden = False
                Case "450 WSB":     Range("A2079:A2214").EntireRow.Hidden = False
                Case "450 Chubs":     Range("A2215:A2334").EntireRow.Hidden = False
                Case "450 MS+ Chubs":     Range("A2335:A2446").EntireRow.Hidden = False
                Case "500 WSB":    Range("A2447:A2594").EntireRow.Hidden = False
                Case "500 Chubs":     Range("A2595:A2718").EntireRow.Hidden = False
                Case "600 HE Chubs":     Range("A2719:A2882").EntireRow.Hidden = False
                Case "600 LD Chubs":     Range("A2883:A3042").EntireRow.Hidden = False
                 For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
                If Range("A" & i) = 0 Then
                Do Until Range("A" & j + 1) <> 0: j = j + 1: Loop
                Range("A" & i & ":A" & j).EntireRow.Hidden = True
                End If: Next i
                End Select
        End If
        
        
        If Target.Address = "$C$3069" Then
            Range("A3071:A3194").EntireRow.Hidden = True
            Select Case Target.Text
                Case "EF":     Range("A3071:A3194").EntireRow.Hidden = False
                
            End Select
        End If
        
        
         If Target.Address = "$C$3221" Then
            Range("A3223:A3410").EntireRow.Hidden = True
            Select Case Target.Text
                Case "HE":     Range("A3223:A3410").EntireRow.Hidden = False
               
            End Select
        End If
        
        If Target.Address = "$C$3435" Then
            Range("A3437:A3560").EntireRow.Hidden = True
            Select Case Target.Text
                Case " ":     Range("A3437:A3560").EntireRow.Hidden = False
                
            End Select
        End If
        
        
         If Target.Address = "$C$3587" Then
            Range("A3589:A4020").EntireRow.Hidden = True
            Select Case Target.Text
                Case "AES":     Range("A3589:A3796").EntireRow.Hidden = False
                Case "DET":     Range("A3797:A4020").EntireRow.Hidden = False
              
            End Select
        End If
        
         If Target.Address = "$C$4047" Then
            Range("A4049:A4336").EntireRow.Hidden = True
            Select Case Target.Text
                Case "P":     Range("A4049:A4200").EntireRow.Hidden = False
                Case "Geoprime":     Range("A4201:A4336").EntireRow.Hidden = False
                 
                End Select
        End If
        
         If Target.Address = "$C$4363" Then
            Range("A4365:A7376").EntireRow.Hidden = True
            Select Case Target.Text
                Case "DDE":     Range("A4365:A4952").EntireRow.Hidden = False
                Case "LP":     Range("A4953:A5540").EntireRow.Hidden = False
                Case "MSC":    Range("A5541:A5672").EntireRow.Hidden = False
                Case "Short":     Range("A5673:A5768").EntireRow.Hidden = False
                Case "DDE LP":     Range("A5769:A5972").EntireRow.Hidden = False
                Case "LLF STARTER":    Range("A5973:A6112").EntireRow.Hidden = False
                Case "MS":     Range("A6113:A6988").EntireRow.Hidden = False
                Case "SCE":     Range("A6989:A7376").EntireRow.Hidden = False
             
            End Select
        End If
        
        If Target.Address = "$C$7403" Then
            Range("A7405:A8580").EntireRow.Hidden = True
            Select Case Target.Text
                Case "IM":     Range("A7405:A8188").EntireRow.Hidden = False
                Case "IZ":     Range("A8189:A8388").EntireRow.Hidden = False
                Case "XP":     Range("A8389:A8580").EntireRow.Hidden = False
               
            End Select
        End If
        
        If Target.Address = "$C$8605" Then
            Range("A8607:A8698").EntireRow.Hidden = True
            Select Case Target.Text
                Case " ":     Range("A8607:A8698").EntireRow.Hidden = False
            
        End Select
        End If
        
        If Target.Address = "$C$8725" Then
            Range("A8727:A9098").EntireRow.Hidden = True
            Select Case Target.Text
                Case "PV":     Range("A8727:A8862").EntireRow.Hidden = False
                Case "PE":     Range("A8863:A8970").EntireRow.Hidden = False
                Case "RF":     Range("A8971:A9098").EntireRow.Hidden = False
              
        End Select
        End If
        
        
        For Each icell In Range("B5:B9022").SpecialCells(xlCellTypeVisible)
            If icell.Value = "0" Then
                icell.Resize(4, 1).EntireRow.Hidden = True
            End If
        Next icell
        Application.ScreenUpdating = True
        
           
    End Sub
    Last edited by Sky188; 02-28-2013 at 03:34 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1