Automatisch rijen verbergen in Excel met "dubbel" bereik

Status
Niet open voor verdere reacties.

gorki5

Nieuwe gebruiker
Lid geworden
12 jun 2010
Berichten
3
Allen,

Ik zou in Excel via een dropdown-list bij keuze van "Siemens 7SJ64" zowel rijen 7 tot 102, als rijen 144 tot 500 willen laten verbergen. Bij keuze van "...", rijen 7 tot 145 en rijen 141 tot 500. Bij mijn poging hieronder krijg ik geen foutmelding in VB, maar in Excel werkt enkel het eerste bereik, niet het tweede...

Private Sub Worksheet_Change(ByVal Target As Range)
Rows("103:500").EntireRow.Hidden = Range("E4").Value = "Siemens 7SD5"
Rows("7:102").EntireRow.Hidden = Range("E4").Value = "Siemens 7SJ64"
Rows("144:500").EntireRow.Hidden = Range("E4").Value = "Siemens 7SJ64"
Rows("7:145").EntireRow.Hidden = Range("E4").Value = "..."
Rows("141:500").EntireRow.Hidden = Range("E4").Value = "..."

End Sub


Graag een oplossing. In bijlage vind je het desbetreffende excel-bestand : Bekijk bijlage Bev. ONTWERPFASE met macro's (2).xlsm

Alvast bedankt
Mvg
 
Wat de puntjes betreft staat er niet 3x een punt "..." maar eenmaal het enkele teken "…" (Elypsis)
Tevens kan je daar .EntireRow weg laten.

Ik zou er zoiets van maken:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("E4"), Target) Is Nothing Then Exit Sub
    Select Case Range("E4").Value
        Case "Siemens 7SD5"
            Rows("7:102").Hidden = True
            
        Case "Siemens 7SJ64"
            Rows("7:102").Hidden = True
            Rows("144:500").Hidden = True
        
        Case "…"
            Rows("7:145").Hidden = True
            Rows("141:500").Hidden = True

        Case Else
            Rows("7:500").Hidden = False
    End Select
End Sub
 
Laatst bewerkt:
Extra voorwaarde

Super!
Ik heb de code ingegeven en alles werkt perfect. Zelfs "..." geeft geen problemen.

Nu zou ik echter nog een extra voorwaarde willen toevoegen :

Als N5="A" dan zou de code zoals je hierboven beschrijft moeten gelden.
Als N5="B" dan zouden de rijen 1 tot 1000 automatisch moeten verbergen
Als N5="" dan moet er geen actie ondernomen worden

Alvast bedankt!
 
Nog steeds bij een wijziging in E4? Zoiets dan:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("E4"), Target) Is Nothing Then Exit Sub
    If Range("N5").Value = vbNullString Then Exit Sub
    
    Select Case Range("N5").Value
        Case "A"
            Select Case Range("E4").Value
                Case "Siemens 7SD5"
                    Rows("7:102").Hidden = True
                    
                Case "Siemens 7SJ64"
                    Rows("7:102").Hidden = True
                    Rows("144:500").Hidden = True
                
                Case "…"
                    Rows("7:145").Hidden = True
                    Rows("141:500").Hidden = True
        
                Case Else
                    Rows("7:500").Hidden = False
            End Select
        Case "B"
            Rows("1:1000").Hidden = True
    End Select
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan