• 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.

VBA Rijen verbergen met meerdere voorwaarden

  • Onderwerp starter Onderwerp starter KeBr
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

KeBr

Gebruiker
Lid geworden
25 apr 2016
Berichten
183
Hallo,

Ik heb een bestand gemaakt waarbij op Blad 1 keuzes gemaakt moeten worden. op basis hiervan worden dan op blad 2 regels weergegeven of verborgen

De macro die ik gemaakt heb werkt wel met 2 voorwaarden (deze haal ik uit een keuzelijst in cel E1 (groen) en Cel E2 (geel)
Nu moet er ook nog aan toegevoegd worden dat wanneer in kolom "O" een lege cel cel is de rij ook verborgen word. dit krijg ik niet voor elkaar.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("E1").Value = "BK" And Range("E2").Value = "w" And Range("O4:O50").Value = "X" Then Sheets("Blad2").Rows("4:50").Hidden = False
If Range("E1").Value = "-" Or Range("E2").Value = "-" Or Range("O4:O50").Value = "blank" Then Sheets("Blad2").Rows("4:50").Hidden = True
End Sub

In de bijlage een klein deel van het bestand.

Is het ook mogelijk om de macro op basis van de waarde in de keuze cellen automatisch te laten werken. b.v als "Bk" veranderd in "Bf" dat ik dan geen aparte macro moet maken hiervoor
 

Bijlagen

"blank" is een tekstwaarde en staat vast niet in jouw bestand.

Code:
trim(Range("O4:O50").Value)=""

Waarbij ik de range niet kan duiden.
 
Laatst bewerkt:
De range is de waarde zijn de lege cellen in kolom O vanaf rij 4 tot rij 50
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If [E1] <> "-" [COLOR="#FF0000"]Or [/COLOR][E2] <> "-" Then
    Sheets(2).Rows("4:50").Hidden = False
      Else: Sheets(2).Rows("4:50").Hidden = True
End If
    For j = 4 To Cells(Rows.Count, 15).End(xlUp).Row
        If Cells(j, 15) = "" Then Sheets(2).Rows("4:50").Hidden = True
    Next
End Sub

Probeer het eens zo

Edit: And vervangen door Or in de eerste regel
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan