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

dubbele VBA vergelijking in mijn excel file

Status
Niet open voor verdere reacties.

crappy

Gebruiker
Lid geworden
4 mei 2016
Berichten
27
Hoe krijg ik de juiste dubbele vergelijking met VBA in mijn bestand.

Vergelijking moet zijn:
Als C8 = SAP code & C12 = Belgie, dan regels 14,15, 33,34,51,52 zichtbaar
Als C8 = PO nummer via Ariba & C12 = Belgie, dan regels 14,15 verborgen en 33,34,51,52 zichtbaar

Onderstaande vergelijking werkt wel in het formulier
Als C8= SAP code, dan regels 11,13,16,17,21,27,28,29 zichtbaar
Als C8 = SAP code & C12 = Nederland, geen extra regels zichtbaar
Als C8 = PO nummer via Ariba & C12 is Nederland, geen extra regels zichtbaar

Alvast bedankt voor de hulp
 

Bijlagen

  • POS aanvraagform SAP en Ariba.xlsm
    55,2 KB · Weergaven: 28
Gebruik Select Case

Als je bij "If Target.Address = "$C$8" Then" select case gebruikt kun je dit realiseren
dus:
Select case Target.text
Case "Sap Code"
dit uitvoeren
Case ..
uitvoeren
end select

Grt.Riks
 
Hey Rik

Ik ben een beginnende VBA kenner, heb de meeste code van het internet gehaald :d
Kan je me iets meer helpen met de opbouw van jouw voorbeeld.
Anders ga ik hier niet uitkomen

Alvast bedankt
 
Rik bedoelt dit:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False

    Select Case Target.Address
        Case "$C$8"
            Select Case Target.Value
                Case "PO nummer via Ariba"
                    Range("11:11,13:13, 16:17,21:21,27:29").Rows.Hidden = True
                Case "SAP Code"
                    'Iets anders...
            End Select

        Case "$C$19"
            Range("20:20").Rows.Hidden = Target = "regulier"
        Case "$C$12"
            Range("14:15,33:34,51:52").Rows.Hidden = Target = "Nederland"
        Case "$C$40"
            Range("41:42").Rows.Hidden = Target = "Nee"
        Case "$C$44"
            Range("45:45").Rows.Hidden = Target = "Nee"
        Case "$C$44"
            Range("45:45").Rows.Hidden = Target = "Nee"
        Case "$C$45"
            Range("46:46").Rows.Hidden = Target = "Nee"
    End Select
End Sub
 
Als ik dan daarna wil opgeven dat bij een bepaalde selectie, bepaalde regels juist wel zichtbaar worden, wordt het dan?

Select Case Target.Address
Case "$C$8"
Select Case Target.Value
Case "PO nummer via Ariba"
Range("11:11,13:13, 16:17,21:21,27:29").Rows.Hidden = True
Case "SAP Code"
Range("11:11,13:13, 16:17,21:21,27:29").Rows.Show = True
End Select

Dit werkt namelijk niet, hoe los ik dat op?
 
In plaats van .Rows.Show = True gebruik je dan uiteraard .Rows.Hidden = False
 
Hey Wordt het dan als je 2 vergelijkingen met elkaar wilt koppelen

Als C8 = SAP code & C12 = Belgie, dan regels 14,15, 33,34,51,52 zichtbaar
Als C8 = PO nummer via Ariba & C12 = Belgie, dan regels 14,15 verborgen en 33,34,51,52 zichtbaar

De rest is gelukt en werkt een stuk beter, dit is het enige nog waar ik tegen aan loop :thumb:

Alvast bedankt voor je reactie
 
Ik zou zeggen, probeer eerst eens te begrijpen wat er in de gegeven code precies gebeurt want wat je als laatste vraagt is niet anders dan je eerste vraag.
Mocht het niet lukken dan kunnen we je uiteraard helpen, maar voorkauwen leer je niets van.
 
Goedemiddag

Het zal zeker aan mij liggen. Ik begrijp wat er in de code gebeurd, echter is dit een vergelijking van wat er in 1 cel gebeurd, dan moet er iets zichtbaar of niet zichtbaar worden.

Ik kan hier niet uithalen hoe ik dit zelfde kan bereiken op het moment dat ik eerst 2 cellen met elkaar wilt vergelijken en afhankelijk daarvan iets wel of niet zichtbaar wilt hebben

De code heb ik volledig aangepast naar het geen je als voorbeeld hebt gegeven en dat snap ik, anders zou mijn excel file nu ook niet beter werken.

Alvast bedankt voor je reactie
 
Wat is er mis met mijn code, dat de dubbele check niet werkt, ben er de hele middag al mee bezig :evil:

Case "$C$12"
Select Case Target.Value
Case "Maak selectie"
Case "$c$8"
Select Case Target.Value
Case "PO nummer via Ariba"
Range("13:15,33:34,51:52").Rows.Hidden = True
End Select
Case "Maak selectie"
Case "$c$8"
Select Case Target.Value
Case "SAP code"
Range("13:15,33:34,51:52").Rows.Hidden = True
End Select
Case "Nederland"
Case "$c$8"
Select Case Target.Value
Case "PO nummer via Ariba"
Range("13:15,33:34,51:52").Rows.Hidden = True
End Select
Case "Nederland"
Case "$c$8"
Select Case Target.Value
Case "SAP code"
Range("14:15,33:34,51:52").Rows.Hidden = True
Range("13:13").Rows.Hidden = False
End Select
Case "België"
Case "$c$8"
Select Case Target.Value
Case "SAP code"
Range("13:15,33:34,51:52").Rows.Hidden = False
End Select
Case "België"
Case "$c$8"
Select Case Target.Value
Case "PO nummer via Ariba"
Range("33:34,51:52").Rows.Hidden = False
Range("13:15").Rows.Hidden = True
End Select

End Select
 
Er is niets goed aan.
Kijk eens in de hulpbestanden van de vbeditor (F1); en bestudeer de informatie daar.
 
De 2 vergelijkingen los van elkaar werken wel:

Select Case Target.Address
Case "$C$8"
Select Case Target.Value
Case "maak selectie"
Range("11:13,16:17,21:21,27:29,30:32").Rows.Hidden = True
Case "PO nummer via Ariba"
Range("11:11,13:13, 16:17,21:21,27:29").Rows.Hidden = True
Range("12:12").Rows.Hidden = False
Case "SAP code"
Range("11:12, 16:17,21:21,27:29").Rows.Hidden = False
Range("13:13").Rows.Hidden = True
End Select

Case "$C$12"
Select Case Target.Value
Case "Maak selectie"
Range("13:15,30:34,48:52").Rows.Hidden = True
Case "Nederland"
Range("14:15,33:34,51:52").Rows.Hidden = True
Range("13:13,30:32,48:50").Rows.Hidden = False
Case "België"
Range("13:15,33:34,51:52").Rows.Hidden = False
Range("30:32,48:50").Rows.Hidden = True
End Select

Hoe kan ik deze 2 nu dusdanig bouwen dat in de Case"$C$12" gekeken wordt naar de waarde van case"$C$8"

Alvast bedankt voor de persoon die mij op weg wilt helpen. Ben er nu reeds een uur of 5 mee bezig.
 
Plaats hier eerst je code eens met de juiste inspringpunten en in codetags, want zo is het niet te volgen.
 
In de bijlage het bestand inclusief code, op de hoop ik juiste manier geschreven

Select Case Target.Address
Case "$C$8"
Select Case Target.Value
Case "maak selectie"
Range("11:13,16:17,21:21,27:29,30:32").Rows.Hidden = True
Case "PO nummer via Ariba"
Range("11:11,13:13, 16:17,21:21,27:29").Rows.Hidden = True
Range("12:12").Rows.Hidden = False
Case "SAP code"
Range("11:12, 16:17,21:21,27:29").Rows.Hidden = False
Range("13:13").Rows.Hidden = True
End Select

Case "$C$12"
Select Case Target.Value
Case "Maak selectie"
Range("13:15,30:34,48:52").Rows.Hidden = True
Case "Nederland"
Range("14:15,33:34,51:52").Rows.Hidden = True
Range("13:13,30:32,48:50").Rows.Hidden = False
Case "België"
Range("13:15,33:34,51:52").Rows.Hidden = False
Range("30:32,48:50").Rows.Hidden = True
End Select

had dit al zo staan, echter met het kopieeren is het allemaal recht onder elkaar komen te staan.

Bedankt voor de hulp vast
 

Bijlagen

  • POS aanvraagform SAP en Ariba - Copy.xlsm
    60,5 KB · Weergaven: 27
Ok, ik zal straks kijken. Nu even geen tijd.
 
is dus wederom gebeurd. Terwijl het bij het kopieeren goed over komt.

Hoop dus dat je me kan/wilt helpen met de bijlage die ik erbij heb gedaan.
 
Eigenlijk begrijp ik de vraag niet goed. Je wilt bij Case "$C$12" weten wat er in de cel C8 staat? Dan kijk je toch gewoon wat er in staat met:
If Range("C8").Value = ...
 
Dat zou je inderdaad denken :D echter heb ik het gevoel dat ik iets giga stoms vergeet in mijn code waardoor het net niet werkt

Als je nog een keer een blik zou willen gooien over hetgeen ik probeer, zou ik je zeer dankbaar zijn.
 

Bijlagen

  • POS aanvraagform SAP en Ariba - Copy.xlsm
    52,7 KB · Weergaven: 18
Laatst bewerkt:
Ik begrijp het probleem, heb alleen geen idee hoe dit op te lossen. Er zijn in mijn vergelijking 2 dezelfde case namen die verschillen van elkaar t.o.v. de inhoud ivm de if statement.
Toch blijft excel naar de 1e case kijken die hij tegen komt met de betreffende naam.

Als ik dat kan ondervangen, dan zou ik er moeten zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan