• 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 als?

Status
Niet open voor verdere reacties.

ExcelNoob

Gebruiker
Lid geworden
20 apr 2007
Berichten
227
Hey,

Ik heb een vraag mbt het verbergen van rijen. Ik wil graag de gehele rij verbergen als de cel in kolom U ingevuld wordt. Kan dat mbv een macro?

Mvg,

ExcelNoob
 
Probeer dit eens;

Code:
    Columns("H:H").EntireColumn.Hidden = True

En voor een rij:

Code:
    Columns("11:11").EntireRow.Hidden = True
Ron
 
Laatst bewerkt:
Probeer dit eens;

Code:
    Columns("H:H").EntireColumn.Hidden = True

Ron

Ik wil rijen verbergen hea... geen kolommen;) En ik wil er een voorwaarde aan koppelen.
dus ALS U2 wordt ingevuld dan moet hij de gehele rij 2 verbergen....
 
Zie de aanpassing

Code:
ALS (Cell(11,11).value <> "";Rows("11:11").EntireRow.Hidden = True)

Ron
 
Volgens mij kan dat niet werken. Je kunt toch geen ALS gebruiken in een VBA code, dat moet in ieder geval IF zijn en daarbij moet ook nog END IF vermeld worden. <>"" werkt volgens ook niet in VBA..Ik waardeer je hulp, maar dit kan volgens mij niet werken.
 
Het was kennelijk moeilijk wakker worden vanochtend. Maar hoe is deze:

Code:
Sub HideRow()

    ThisRow = 11  'voor de test
    ThisColumn = 21 'kolom U

    If Cells(ThisRow, ThisColumn).Value <> "" Then
        Rows(ThisRow).EntireRow.Hidden = True
    End If
    
End Sub
 
Zet deze code onder het betreffende werkblad:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 2 And Target.Column = 21 And Target > "" Then
Rows(2).Hidden = True
End If
End Sub
 
@Ron: Hij doet het niet, hij geeft geen fout maar doet ook niets??:(
 
Laatst bewerkt:
Die doet het wel:thumb: , maar hoe moet ik hem aanpassen voor elke cel in kolom U??
 
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 18 And Target > "" Then
Target.EntireRow.Hidden = True
End If
End Sub

Ik heb nu dit... Maar als ik dan in het blad aan het werk ben krijg vaak een foutmelding. Klopt er iets niet aan de code? Hij verbergt de hele rij wel.
 
@Cor,

Leuke oplossing, leer ik ook weer wat van. :thumb:

Maar hij werkt 1 keer en dan negeert hij de veranderingen in de kolom. :( Als je meerdere rijen selecteert dan krijg je een type mismatch error.:confused:
Wellicht nog idee om dit te omzeilen?:D

Ron
 
Voilà

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim inters As Range, c As Range
    
    Set inters = Application.Intersect(Columns(21), Target)
    
    If Not inters Is Nothing Then
        For Each c In inters
            If c.Value <> "" Then c.EntireRow.Hidden = True
        Next
    End If
End Sub

Doe geen SelectionChange, maar een Change.

Voor de rest nog wat fouten eruit gehaald, bekijk maar eens. Ook meerdere rijen kunnen ineens.

Wigi
 
Waar staat die c voor je in de code Wigi? Kan ik die gewoon laten staan of moet daar het aantal cellen invoeren?
 
@Wigi, zoals altijd weer een mooie oplossing. Toch nog een vraagje:

Code:
Not inters Is Nothing

Dit ziet eruit als een dubbele ontkenning. Als ik het goed begrijp dan kijk je hier of iets in kolom U staat. Is er dan niet zoiets als "inters Is Something"?

Ron
 
Houston, we have a problem!

Ik heb 2 keer een private sub worksheet_change namelijke deze:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then
    Range("A1:R4999").Sort Key1:=Range("E2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim inters As Range, c As Range
    
    Set inters = Application.Intersect(Columns(18), Target)
    
    If Not inters Is Nothing Then
        For Each c In inters
            If c.Value > "" Then c.EntireRow.Hidden = True
        Next
    End If
End Sub

Dit kan dus blijkbaar niet...hoe is dit op te lossen?
 
Als het opgelost is, graag de vraag dan ook op opgelost zetten aub.
 
Dacht dat ik dat gedaan had! Maar hij is nog niet opgelost. Hoe krijg ik in volgende code dat hij rij 1 uitsluit.
Code:
If Target.Column = 18 And Target > "" Then
Target.EntireRow.Hidden = True
End If
End Sub

Laat maar heb het al.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan