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

excel voor mac 2016 - lijst maken adhv de keuze in een andere lijst

Status
Niet open voor verdere reacties.

rocknroadie

Gebruiker
Lid geworden
5 sep 2016
Berichten
184
Bekijk bijlage testbestand.xlsxHello


volgend probleem stelt zich:
.

ik heb een cel (feestcomplex) waarin ik met een drop downlijst werk. afhankelijk van de keuze die daar gemaakt wordt moet in de cel daaronder (zaal) een lijst weergegeven worden.

sommige feestcomplexen hebben meerdere zalen. wanneer bvb het feestcomplex "boerderij" wordt gekozen, dan moet in de cel "zalen" de lijst verschijnen met alleen maar de zalen van de boerderij.




alvast bedankt!
 
Laatst bewerkt:
thnx maar dat lukt niet in excel 2016 voor mac...... macro's inschakelen is geen probleem maar vervolgens krijg ik de melding

" Deze werkmap bevat inhoud die niet wordt ondersteund in deze versie van Excel".

de vba in deze versie van excel is echt crap. comboboxen werken niet.....

ik hoop dat er alternatieve manieren zijn.....
 
Zoek dan eens op getrapte validatie.
Misschien zit er iets voor de Mac bij.
 
heb ik op gezocht. het enige wat ik kan vinden dat iet of wat werkt is

http://www.exhelp.be/algemeen/1622


maar bij mij is het net iets anders. afhankelijk van de keuze die in een lijst gemaakt wordt moet de andere lijst aangepast worden. dit lukt niet met de oplossing hierboven.

ik zoek zelf verder in die richting maar moest er iemand een oplossing kunnen aanreiken zou dat heel fijn zijn.

alvast bedankt!
 
roel,

dat werkt in mac versie perfect. helaas spreken we over een paar honderd feestzalen.

is er geen mogelijkheid om via rijen te werken (zoals in mijn testbestand) of moet dit echt via kolommen gebeuren. als dit de enige oplossing is (om zonder vba te werken) dan ben i dus genoodzaakt om de complexen allemaal in kolommen te zetten (en dus dubbel werk)

maar bedankt voor de hulp!!!

Marc
 
ok, dan andere benadering.

ik heb een tabel gemaakt van jou voorbeeldlijsten 2 draaitabellen
1 draaitabel met alleen feestcomplex in de rijen
en 1 draaitabel met feestcomplex als filter en zalen als rijen.

vervolgens 2 naambereiken (feestcomplex en zaal) met een dynamisch bereik op basis van getoonde waarden in de draaitabel.
die naambereiken in de betreffende cellen voor gegevensvalidatie gezet.
en tot slot ene kleine worksheet change event macro die de waarde van selectieblad cel b1 in de 2e draaitabel plaatst
zodat de 2e selectie wordt gevuld met de zalen.

Bekijk bijlage Kopie van testbestand-1.xlsm
 
Laatst bewerkt:
Roel,

thx! dit werkt op mac! blijkbaar kan er dus toch met (beperkte?) via code gewerkt worden in excel voor mac 2016.

nu, mijn kennis is redelijk beperkt. zo weet ik bvb niet wat een draaitabel is (maar ik zoek dit wel op op het www).

nu moet ik dit gaan overbrengen naar mijn eigen excelsheet. deze is een pak uitgebreider en ik moet deze methode op meerdere velden gaan toepassen.

mijn bedoeling is om te leren uiteraard en om privacy redenen kan ik de excel sheet waar ik mee bezig ben niet compleet hier gaan posten. daarom dat ik een testbestand heb gemaakt. Op deze manier is het de bedoeling dat ik er ook wat van leer. is het mogelijk om mij (kort?) uit te leggen welke stappen ik moet ondernemen of waar ik op moet letten om tot het zelfde resultaat te komen?

alvast bedankt en hopelijk heeft er ooit iemand anders ook iets aan deze oplossing!

klasse!

Thx

Marc
 
Hey Marc,

Kort uitleggen .. altijd lastig ik zal eens een poging wagen..

de oplossing heeft de volgende elementen
1. je lijst met complexen en zalen heb ik een -excel tabel van gemaakt (via opmaken als tabel)
2. de draaitabellen gebruiken die tabel als range, voordeel van een tabel gebruiken als basis van een draaitabel is dat je nieuwe complexen toevoegt aan de tabel het draaitabelbereik ook wordt meegenomen.
3. De draaitabel met feestcomplexen is om te zorgen dat je een dropdown lijst kan maken waar elk complex maar 1x in staat. ipv meerdere keren voor het aantal zalen.
4. De draaitabel met feestcomplexen gebruik ik om een dynamisch naambereik te maken. met de formule
Code:
=VERSCHUIVING(gegevensblad!$D$4;0;0;AANTALARG(gegevensblad!$D$4:$D$2000))

deze formule zorgt dat als de draaitabel langer wordt je dropdownlijst ook automatisch langer wordt.

5. het naambereik "feestcomplex" kan je in de gegevens validatie invoeren als de verwijzing naar je dropdownlijst.
6. om de zalen alleen van het feestcomplex te zien heb ik een kleine event macro gemaakt. deze macro staat op het selectieblad en "runt" elke keer als er op het selectieblad iets wijzigt.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    Blad1.PivotTables("Draaitabel1").PivotFields("Feestcomplex").CurrentPage = Blad2.Range("B1").Value
    
End Sub

Blad1. staat voor je gegevensblad, je mag ook sheets("gegevensblad"). gebruiken dat komt op hetzelfde neer.
Blad2. staat voor je selectieblad.

wat deze macro dus doet is bij wijziging van een cel op het selectieblad dan wordt de waarde van Cel B1 in de filter van de draaitabel gezet.
Op dit moment doet hij dit bij wijziging van elke cel. als het selectieblad in jou versie veel cellen kent die regelmatig wijzigen dan is het wellicht verstandiger de macro aan te passen zodat hij het alleen bij wijziging van cel B1 doet.
 
Hey Marc,

Kort uitleggen .. altijd lastig ik zal eens een poging wagen..

de oplossing heeft de volgende elementen
1. je lijst met complexen en zalen heb ik een -excel tabel van gemaakt (via opmaken als tabel)
2. de draaitabellen gebruiken die tabel als range, voordeel van een tabel gebruiken als basis van een draaitabel is dat je nieuwe complexen toevoegt aan de tabel het draaitabelbereik ook wordt meegenomen.
3. De draaitabel met feestcomplexen is om te zorgen dat je een dropdown lijst kan maken waar elk complex maar 1x in staat. ipv meerdere keren voor het aantal zalen.
4. De draaitabel met feestcomplexen gebruik ik om een dynamisch naambereik te maken. met de formule
Code:
=VERSCHUIVING(gegevensblad!$D$4;0;0;AANTALARG(gegevensblad!$D$4:$D$2000))

deze formule zorgt dat als de draaitabel langer wordt je dropdownlijst ook automatisch langer wordt.

5. het naambereik "feestcomplex" kan je in de gegevens validatie invoeren als de verwijzing naar je dropdownlijst.
6. om de zalen alleen van het feestcomplex te zien heb ik een kleine event macro gemaakt. deze macro staat op het selectieblad en "runt" elke keer als er op het selectieblad iets wijzigt.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    Blad1.PivotTables("Draaitabel1").PivotFields("Feestcomplex").CurrentPage = Blad2.Range("B1").Value
    
End Sub

Blad1. staat voor je gegevensblad, je mag ook sheets("gegevensblad"). gebruiken dat komt op hetzelfde neer.
Blad2. staat voor je selectieblad.

wat deze macro dus doet is bij wijziging van een cel op het selectieblad dan wordt de waarde van Cel B1 in de filter van de draaitabel gezet.
Op dit moment doet hij dit bij wijziging van elke cel. als het selectieblad in jou versie veel cellen kent die regelmatig wijzigen dan is het wellicht verstandiger de macro aan te passen zodat hij het alleen bij wijziging van cel B1 doet.

thx Roel,

dit maak al veel dingen duidelijker. het selectieblad heeft inderdaad veel cellen die regelmatig wijzigen. hoe pas ik de macro aan dat hij enkel op de wijziging van 1 cel gaat reageren?

alvast bedankt

Marc
 
roel,

nog een klein dingetje. als ik de keuze van complex nadien wijzig, dan blijft de zaal ingevuld staan met de gegevens van de vorige zaal. hoe kan ik dit oplossen?

heb ik het juist als ik denk dat wanneer de macro gaat draaien op het wijzigen van de cel B1 (in dit geval) dat dat probleem dan is opgelost?

Marc
 
in het test bestand moet je de code op het selectieblad dan vervangen door deze code

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
    Blad1.PivotTables("Draaitabel1").PivotFields("Feestcomplex").CurrentPage = Blad2.Range("B1").Value
End If
End Sub
 
dag roel,

ik ben er ff naar op zoek geweest maar vind de oplossing niet.... ligt het aan de beperkte vba van excel voor mac? ik weet het niet...


als ik de macro run dan krijg ik volgende foutmelding

Microsoft visual basic:

Fout 1004 tijdens runtime
Methode PivotTables van object_worksheet is mislukt


enig idee wat de oorzaak is? kan het iets te maken hebben met de nederlandstalige versie van excel waarmee ik werk?


alvast bedankt

Marc
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan