Waarde meerdere selectievakjes overnemen in code

Status
Niet open voor verdere reacties.

Haikom

Gebruiker
Lid geworden
2 aug 2011
Berichten
27
Hallo,

Na Google/ Helpmij/ Stackoverflow te hebben afgezocht ben ik nog niet de juiste (voor mij herkenbare/ begrijpbare) oplossing tegengekomen.

Ik ben aan het voort borduren op code waar ik eerder al hulp bij heb gekregen van helpmij.
Daar is dit een voorbeeld van:

Als een bepaalde bullet (KeuzeA) is geselecteerd resulteert dat in een waarde in M3.

Actie: Als M3 = 1, verberg bepaalde kolommen en filter de overgebleven kolom op "V".

Code:
 KeuzeA
    If BBR.Range("M3").Value = 1 Then
        ' Verberg betreffende kolommen
        sh.Range("E:G").EntireColumn.Hidden = True
            'Filter op de betreffende Kolom. Dit is 'Field' t.o.v. kolomD: D (1) t/m G(4)
            sh.Range("D12:G" & Range("D12").End(xlDown).Row - 0).AutoFilter Field:=1, Criteria1:="V"

Bij de initiële vraag ging het o.a. om de opgenomen macro's te verbeteren, met nette VBA en dan met name de relatieve verwijzingen i.p.v. de absolute verwijzing die ik (dus verkeerd) toepaste.

Nu ben ik aan het proberen om het filteren uit te breiden met meer waarden, die middels vinkjes gekozen kunnen worden. (Zie bijgevoegde .xlsm.)

De toegevoegde filter-waarden zijn "X", "O" en "<lege cel>".

In het voorbeeld zijn de bullets en de selectievelden te zien. Ieder selectieveld heeft een waarde 1, 20, 300, 4000.
Als deze waarden worden opgeteld (T7) ontstaat een uniek nummer waaruit de geselecteerde keuze kan worden afgeleid.

Dan ontstaat een formule als:
[XML]=ALS(T7=1;"V";ALS(T7=20;"O";ALS(T7=300;"X";ALS(T7=4000;"<leeg>";ALS(T7=4001;"V+O";"BLA")))))[/XML] en dan alle mogelijkheden uitschrijven.

M.i. zou dit juist met VBA moeten kunnen worden opgelost.

Mijn vraag: Als M3 = 1 EN "kijk welke vinkjes zijn gezet", verberg de kolommen en filter de overgebleven kolom op "V" en/of "X" en/of "O" en/of "<leeg>" al naar gelang van de vinkjes.

Alvast dank voor een oplossingsrichting. :)


PS: een Database-achtige oplossing buiten Excel zou dé oplossing zijn, alleen is dat een brug te ver.
 

Bijlagen

  • Probeersel Helpmij v01.xlsm
    37,6 KB · Weergaven: 24
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan