VBA Help - Auto Hide Row

Golfpro1286

New Member
Joined
Aug 22, 2018
Messages
30
Hello, I have looked around and could not find any VBA that would work for what I am trying to do, which seemed like it should be simpler than it is turning out to be. I want to automatically hide and unhide some rows based on the following:

I have a summary sheet (in "Sheet 1") that summarizes the number of loans an officer makes within a given system. I want to hide/un-hide any rows with "0". Example:
RowNameCount
1Adam1
2Corey0
3Trevor1
4Jim0
5Randy0


<tbody>
</tbody>

Here is how the count is calculated:

The loan data is entered into a table on a separate sheet ("Sheet 2") as follows:

OfficerLoan #System
Adam1234CL
Adam5678CL
Corey91011IL
Trevor8765ML
Jim5843CL
Jim4128IL
Randy6634ML

<tbody>
</tbody>

In "Sheet 1" I have a combo box to change the system between "CL" "IL" and "ML"
The count column is calculated from a COUNTIFS formula that will use data from table on "Sheet 2" to count number of loans for the system selected in the combo box.

My expected results here would be as follows:
If CL is selected in the combo box rows 2,3,5 would auto-hide because the value would be 0 and rows 1,4 would auto un-hide becuase their value would be greater than 0.

If IL is selected in the combo box rows 1,3,5 would auto-hide because the value would be 0 and rows 2,4 would auto un-hide becuase their value would be greater than 0.

If ML is selected in the combo box rows 1,2,4 would auto-hide because the value would be 0 and rows 3,5 would auto un-hide becuase their value would be greater than 0.

Thanks for any help!
 

kevatarvind

Well-known Member
Joined
Mar 3, 2013
Messages
1,039
Hello Try Below Code Paste it on Sheet Module Assuming Your Criteria Column is "C"
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim i As Integer
    Dim rng As Range
    lr = ActiveSheet.Range("C:C").Find(what:="*", searchdirection:=xlPrevious, searchorder:=xlByRows).Row
    For i = 2 To lr
        If Cells(i, 3).Value = 0 Then
            Set rng = Application.Range("C" & i)
            rng.EntireRow.Hidden = True
        ElseIf Cells(i, 3).Value > 0 Then
            Set rng = Application.Range("C" & i)
            rng.EntireRow.Hidden = False
         End If
    Next
End Sub
 
Last edited:

Akuini

Well-known Member
Joined
Feb 1, 2016
Messages
2,340
Office Version
2013
Platform
Windows
The count column is calculated from a COUNTIFS formula that will use data from table on "Sheet 2" to count number of loans for the system selected in the combo box.
Could you show us the formula?
 

Forum statistics

Threads
1,081,556
Messages
5,359,547
Members
400,533
Latest member
fpenning

Some videos you may like

This Week's Hot Topics

  • VBA (Userform)
    Hi All, I just would like to know why my code isn't working. Here is my VBA code: [CODE=vba]Private Sub OKButton_Click() Dim i As Integer...
  • List box that changes fill color
    Hello, I have gone through so many pages trying to figure this out. I have a 2020 calendar that depending on the day needs to have a certain...
  • Remove duplicates and retain one. Cross-linked cases
    Hi all I ran out of google keywords to use and still couldn't find a reference how to achieve the results of a single count. It would be great if...
  • VBA Copy and Paste With Duplicates
    Hello All, I'm in need of some input. My VBA skills are sub-par at best. I've assembled this code from basic research and it works but is...
  • Macro
    is it possible for a macro to run if the active cell value is different to the value above it
  • IF DATE and TIME
    I currently use this to check if date has passed but i also need to set a time on it too. Is it possible? [CODE=vba]=IF(B:B>TODAY(),"Not...
Top