Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Hide multiple row if their requiment is met

I am new to coding in anything, this project is the first time i code. I am trying to hide multiple row based on individual requirement. The requirement is if in a specific cell of the same row there is a space or is empty, the row will be hidden, if it is hidden and there is anything else, the row will be shown. The code need to work on specific worksheet as i have multiple worksheet where there is row to hide or columns to hide at different place.

There is 2 different code that i tried wich dont work.

This picture represent the excel sheet i am currently trying to hide row :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

worksheet

My goal is to hide row bettwen 8 to 37 if there is there is a space or if it is emtpy, depending what the code inside the cell point at for the cell A8 to A37. if i activate the code, in the image only the row 8, 9 and 10 should be visble, 11 to 37 should be hidden.

So far i have tried these 2 code :

    Sub C1()
       
    Set ws = ActiveWorkbook.Worksheets("FR-3-06_Jeux Prod.")
    
    Dim C As range

        For Each C In range("A8:A37")
    
        If C.Value = " " Then
    
            C.EntireRow.Hidden = True
         
            Else
    
                If C.Value = Empty Then
    
                    C.EntireRow.Hidden = True
            
                Else
    
                    C.EntireRow.Hidden = False
    
                End If
        
        End If
        
    Next C
    

End Sub

This code work as intended exept that it is not tied to a sheet. "Set ws = ActiveWorkbook.Worksheets("FR-3-06_Jeux Prod.")" is not working as well as a couple other code i tried, they point to an error. So when i try to use this code it will work on the active sheet and not "FR-3-06_Jeux Prod."

    Sub Hide_column_and_Row_F_3_6()

    Dim NbreLigne As Integer
    Dim tableau As range
    
    Set wrkshtDoc = ActiveWorkbook.Worksheets("FR-3-06_Jeux Prod.")
    Set tableau = wrkshtDoc.range("A8:A37")
    
    
    NbreLigne = tableau.Rows.Count

     For k = 1 To NbreLigne
                If tableau(1, k) = " " Then
                    tableau(1, k).EntireRow.Hidden = True
                ElseIf tableau(1, k) = Empty Then
                    tableau(1, k).EntireRow.Hidden = True
                Else
                 tableau(1, k).EntireRow.Hidden = False
                End If
            Next k

End Sub

This code only work as intended when i try to hide columns as in replace "row" in the code with "columns". There is sheet in my file where is it columns i need to hide and since this code is working i tried to reuse it… what it is currently doing is hiding row with "test", line 8 only. It wont hide the empty cell.

what would be the error or what would be needed to hide row with the requirement? i know the code #2 work with columns…

>Solution :

You are almost there with code1, you only need to add:
For each C in ws.Range("A8:A38")

Because you add ws. in front of the Range, it knows which sheet to apply it on.

Good luck!

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading