• 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 voor lijsten

Status
Niet open voor verdere reacties.

gertjan1986

Gebruiker
Lid geworden
3 jan 2011
Berichten
128
Beste Allen,

Ik heb een bestand waarin ik allerlei lijsten moet maken. Omdat het bestand zo groot is ben ik op zoek naar een macro. Echter als ik een macro opneem werkt het op een of andere manier niet. Kunnen jullie mij helpen?

Ik ben op zoek dat de namen die in kolom C staan fungeren als lijst naam voor wat er vanaf de kolom D staat.
Dus als je kijk naar C8 wil ik dat als naam van de lijst voor de cellen D8 t/m F8.
zonder die macro moet ik ze een voor een invullen in het naamvak. Dit is slechts een selectie maar het bestand telt meer dan 500 regels.

Bekijk bijlage macro.xlsx
 
En wat bedoel je met "lijst" ?
 
met lijst bedoel ik de lijst die je kan krijg onder gegevensvalidatie
Ik maak een urenschrijfformulier en als de schrijvers de naam kiezen van een van de namen uit kolom C dan wil ik het hun zo gemakkelijk mogelijk maken door ze in de volgende cel een lijst te geven met de opties die daarbij horen. Dus de cellen vanaf kolom D. Vandaar dat bij de ene naam er meerdere opties zijn en bij de andere maar één optie
 
Ja dat klopt dat gebruik ik nu dus ook. Maar om die getrapte gegevensvalidatie te gebruiken zal je voor de opties eerst namen moeten definiëren ( de zogenaamde lijsten) echter met een bestand van circa 500 regels. Dus 500 namen definiëren ben ik dus op zoek naar een macro oid om het sneller en simpeler te maken
 
Je kan een macro gebruiken maar het zou ook met een formule kunnen.

Code:
=VERSCHUIVING($C$3;VERGELIJKEN(C11;$C$4:$C$9);1;1;SOMPRODUCT((C4:C9=C11)*(D4:F9>"")))

In cel C11 kan je een validatielijst maken met de waardes van kolom C.
Bovenstaande formule in de validatielijst van bijvoorbeeld D11, maakt een lijst van de waardes voor de gekozen locatie.

Met vriendelijke groet,


Roncancio
 
Hoi Roncancio,

Ik begrijp niet helemaal wat ik nu moet doen.
Ik heb van de waardes in kolom C een lijst gemaakt en de formule in de cel ernaast gezet. Echter ik krijg dan een waarde te zien.
Ik wil graag dat de mensen de keuze hebben uit de meerder keuze zoals in rij 6 van mijn voorbeeld bestand.

Wat moet ik precies doen?
 
In cel C1 staat een validatielijst.
In cel D1 staat ook een validatielijst maar die wordt gevuld aan de hand van de gekozen waarde in cel C1.
Ik heb dus geen gebruik gemaakt van benoemde bereiken.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Bedankt dit maakt het veel duidelijker. Kan het ook als de waardes in kolom C niet vanuit een lijst gekozen worden? Dit is bij mij namelijk een resultaat vanuit een vert.zoeken formule
 
Toch nog een vraag Roncancio. Als ik de formule dan naar beneden wil door kopiëren dan lukt dat niet. Weet jij waar dat aan ligt.
Ik wil ook de formule begrijpen dus heb daar ook een vraag over. Bij de formule verschuiving moet je als eerste de verwijzing aangeven. Waar is dat voor bedoeld?
 
Daarmee wordt bedoeld de cel (in kolom C) die bepaalt wat er in jou lijst terecht moet komen.
 
Ik ben wat dat betreft een echte leek maar die cel verwijst naar een lege cel. Aan de hand van wat bepaalt hij dat dan.
Kan je aan de hand van voorbeeldje misschien duidelijk maken
 
Die cel moet je zien als je beginpunt.
Voorbeeld:

Code:
=VERSCHUIVING($A$4;2;3;1;1)

Cel A4 is het beginpunt.
Vervolgens 2 rijen naar beneden (A6) en 3 kolommen naar rechts (D6).
De waarde van die cel wordt dan getoond.
Dit werkt goed met formules op het werkblad.

Met datavalidatie kan je meer dan 1 waarde hebben, vandaar dat 1 van de 2 enen aan het eind een hoger getal kan hebben.
Voorbeeld:
Code:
=VERSCHUIVING($A$4;2;3;4;1)
Het resultaat is nu cellen D6 t/m D9.
Uiteraard is het beter om via formules het bereik te bepalen zoals ik in het voorbeeldbestand heb gedaan, dan harde waardes zoals in bovenstaand voorbeeld.

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Beste Roncancio,

ik heb het hele weekend gestoeid maar het is me niet gelukt om jouw formule te transporteren naar mijn bestand.
Kan je me nog eenmaal mee helpen? Ik heb de juiste cel "indeling" in het nieuwe bestand gedaan. Kan je hem daar misschien inzetten?

Op het hulpblad staan de kolommen en deze moeten via gegevensvalidatie in cel E6 terecht komen.

Ik hoop dat je me wilt helpen.

Alvast enorm bedankt

Bekijk bijlage test.xlsm
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan