• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Rijen verbergen op basis van critera meerdere kolommen

Status
Niet open voor verdere reacties.

stefanwalta

Gebruiker
Lid geworden
4 feb 2008
Berichten
6
Rijen verbergen op basis critera meerdere kolommen

Na 1 week geef ik de moed op :(. Ik heb gespit op diverse websites maar ik kom er niet uit.

Ik heb een macro die bepaalde rijen verbergt op basis van wat erin de kolom 5 staat staat.
Deze is als volgt:

Code:
Sub HURows2()
    BeginRow = 1
    EndRow = 100
    ChkCol = 5
   
    
    For RowCnt = BeginRow To EndRow
        If Cells(RowCnt, ChkCol).Value < 5 Then
            Cells(RowCnt, ChkCol).EntireRow.Hidden = True
            Else
            Cells(RowCnt, ChkCol).EntireRow.Hidden = False
            
        
        End If

        Next RowCnt
End Sub

Nu wil ik dat de rijen verborgen worden op basis van de criteria van kolom 5 tot en 15. Dus als er in kolom 5-kolom 15 een waarde staat dan niet verbergen anders wel verbergen.

Wie kan mij helpen??
 
Laatst bewerkt:
Wat is de voorwaarde precies? Een waarde in elk van die kolommen? Of kleiner dan 5? Of een waarde in 1 van de 11 kolommen? ...
 
voorwaarde

De voorwaarde is dat als een kruisje (x) in de kolommen staat, de rijen niet verbrogen moeten worden en anders wel. Dus als in kolom 5 t/m 15 een X staat dan niet verbergen en anders wel verbergen.
 
Hallo,

Kan iemand mij helpen met het probleem?

Ja zeker.

Vervang je macro door onderstaande macro.
De macro telt het aantal kolommen in bereik (kolom E tm kolom S) en vergelijk dat per regel met het aantal lege cellen in die kolommen. Als dat aantal gelijk is (dus alle cellen zijn leeg) dan wordt de regel verborgen.

Code:
Sub LegeRegels()
Dim Rij As Long

    For Rij = 5 To 100
        If Application.WorksheetFunction.CountBlank(Range(Cells(Rij, "E"), Cells(Rij, "S"))) = Range(Cells(Rij, "E"), Cells(Rij, "S")).Count Then
            Cells(Rij, "E").EntireRow.Hidden = True
        End If
    Next
End Sub

Met vriendelijke groet,


Roncancio
 
Super

Roncancio bedankt, het werkt geweldig. Hier was ik op zoek naar.
Dank je

gr Stefan:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan