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

macro aanpassen

Status
Niet open voor verdere reacties.
Select Case Ucase([eindblad!M5])
Case "JA"


Het maakt daarbij niet uit of er op eindblad M5 dan JA, Ja of ja staat.
Tip: Zet net voor de End Sub je screenupdating even weer op True.
 
Laatst bewerkt:
De code is goed.
Dus vertel eens wat er niet werkt of plaats een voorbeeld document.
 
Plaats die sub nog eens zoals hij nu is.
 
Je zou die code best in je "eindblad" zetten:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Sheets("eindblad").Range("M5")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    On Error Resume Next
    Select Case UCase([eindblad!M5])
      Case "NEEN"
        Sheets("blad1").Visible = False
        Sheets("blad2").Visible = False
      With Sheets("blad3")
                .Rows("19:20").EntireRow.Hidden = True
                .Rows("23:32").EntireRow.Hidden = False
                .Rows("18").EntireRow.Hidden = False
                .Rows("21").EntireRow.Hidden = False
                .Rows("58").EntireRow.Hidden = True
      End With
      Case "JA"
        Sheets("blad1").Visible = True
        Sheets("blad2").Visible = True
        With Sheets("blad3")
                .Rows("18").EntireRow.Hidden = False
                .Rows("20").EntireRow.Hidden = False
                .Rows("23:32").EntireRow.Hidden = True
                .Rows("19").EntireRow.Hidden = True
                .Rows("21").EntireRow.Hidden = True
        End With
     End Select
End Sub
 
Dat ziet er prima uit Cobbe maar ik denk niet dat hij NEEN zal gebruiken ;)
 
De code is niet helemaal juist of beter gezegd: niet volledig.
Zoals de macro nu is kan die niet met "JA" en "NEE" en ook niet met 2 en 3 in [Eindblad!M5] goed werken. Wel de eerste keer, maar niet meer daarna als de waarde in M5 is gewijzigd. De rijen die je met waarde 3 (of "nee") verbergt resp. zichtbaar maakt, worden nl. met waarde 2 (of "ja") niet allemaal weer zichtbaar gemaakt resp. verborgen. Daarom kun je de acties met waarde 2 of 3 best pas laten uitvoeren als je eerst alle rijen zichtbaar hebt gemaakt. Natuurlijk moet je ook ervoor zorgen dat, als "ja" en "nee" de enige keuzemogelijkheden mogen zijn in [Eindblad!M5], er daar geen andere invoer mogelijk is (dat kan bv. via validatie).
Verder kan de macro ook wel wat korter, dan krijg je bv. voor de code achter het Eindblad (rekening houdend met de opmerkingen van edmoor en Cobbe) dit:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("M5"), Target) Is Nothing Then
        Exit Sub
    End If
'Deze code is geschreven door Zapatr
Application.ScreenUpdating = False
Sheets("Blad1").Visible = True
Sheets("Blad2").Visible = True
Sheets("Blad3").Rows.Hidden = False
'
Select Case UCase([eindblad!M5])
    Case "JA"
        With Sheets("Blad3")
            Union(.Rows("19"), .Rows("21"), .Rows("23:32")).Rows.Hidden = True
        End With
    Case "NEE"
        Sheets("Blad1").Visible = False
        Sheets("Blad2").Visible = False
        With Sheets("Blad3")
            Union(.Rows("19:20"), .Rows("58")).Rows.Hidden = True
        End With
End Select
Application.ScreenUpdating = True
End Sub
Voortaan wel een voorbeeldbestand posten, Ron.
 
Laatst bewerkt:
En weer mis ik de inspringpunten voor de leesbaarheid.
Voor de rest is het een uitbreiding die prima is.
 
Je hebt zonder meer gelijk Ed, dat inspringingen code beter leesbaar maken.
Daarom: op jouw verzoek inspringingen alsnog aangebracht (zie hierboven).
Maar de vragensteller mag ook wel een kleine inspanning doen, niet?
 
Je moet de geboden oplossing(en) goed bestuderen!
Ucase maakt van de invoer hoofdletters, de code kan dus sowieso al niet werken als je in de macro "ja" en "nee" gebruikt i.p.v "JA" en "NEE". En verder: een forum is tweerichtingsverkeer Ron en als jij daar je voeten aan veegt door geen voorbeeldbestand mee te sturen terwijl daar nog eens nadrukkelijk om is gevraagd, dan moet je niet al te veel reacties meer verwachten. Met zo'n bestand zijn fouten nl. veel sneller op te sporen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan