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

Afhankelijke (getrapte) validatie met een draaitabel.

Status
Niet open voor verdere reacties.

snb

Verenigingslid
Lid geworden
12 jun 2008
Berichten
19.652
Bij een validatielijst is het prettig een keuzelijst te hebben met unieke, gesorteerde geldige items.
Een draaitabel bevat afhankelijke lijsten met unieke gesorteerde items.
Voor afhankelijke validatie is een draaitabel daarom goed in te zetten.
Het is dan niet nodig een groot aantal benoemde gebieden vooraf te definiëren.

De draaitabel is gebaseerd op een genormaliseerde tabel.
De draaitabel kan met de refreshopdracht aan een gewijzigde tabel aangepast worden.
Een macro in de worksheet_Change gebeurtenis zorgt ervoor dat afhankelijk van een gemaakte keuze een bepaald deel van de draaitabel als validatielijst wordt opgenenomen voor de volgend e te vullen cel in het werkblad 'invoer'.

In de bijlage het bestand.
 

Bijlagen

  • __getrapte validatie Pivottable snb.xlsb
    42,6 KB · Weergaven: 86
Ziet er gelikt uit. Hoe je het hebt ge(f)likt ga ik dit weekend doorgronden.

:thumb:
 
@snb,

Je ben iemand die andere graag op zijn/haar schrijffouten wijst.
Klopt deze regel wel in je uitleg in het bestandje?
Waarom 2 x kolom E?
De invoervolgorde is daarom nogal strikt; befin in kolom E, vervolgnes, E en tenslotte F.
Latere wijzigingen kunnen ook alleen maar in deze volgorde worden ingevoerd.
 
Laatst bewerkt:
@snb

Kijk je voorbeeld bestandje eens na.
Ik heb het idee dat je in veel cellen bent vergeten om er gegevens validatie erin te zetten.
of
Zet er een instructie bij hoe ze de gegevensvalidatie per cel erin kunnen zetten.

Nu werkt je voorbeeldje niet bij mij.
 
Laatst bewerkt:
@Excelamateur

Dank voor je oplettende blik.:thumb:
Ik heb al je opmerkingen verwerkt in de onderstaande bijlage.

@Alpha

In werkblad 'invoer' heeft iedere cel in range("E2:G11") een validatieregel.
 

Bijlagen

  • __getrapte validatie Pivottable snb.xlsb
    42,6 KB · Weergaven: 53
Laatst bewerkt:
Dan zal het wel aan mijn excel2007nl liggen.
Als ik in cel E4 iets wil kiezen krijg ik foutmelding 1004.
Dit komt mi omdat er in cel F4 geen validatie staat.
Ik krijg je voorbeeld wel werkend als ik zelf de validatie in F4 zet.
 
Laatst bewerkt:
Ik heb het bestand ook direct maar weer gesloten.
Precies hetzelfde als @alphamax; Excel 2007.

Een draaiend rondje waar ik op moet wachten bij cel keuze, en bij een keuze in de validatie dezelfde fout.
 
Met 1 versie hoger dan de vorige 2 schrijvers werkt het op zich wel maar het doorlopen van de PivotFields duurt irritant lang.
 
De Excelversie waarin het bestand gemaakt is is 2010.

Het is mij een raadsel hoe MS het presteert zulke verschillen tussen versies met bestaande elementen te creëren.

Ook F4 heeft een validatieregel (gebruik als check Home / Find & Select / Go to Special.../ Data Validation all )

Van traagheid heb ik in 2010 geen last, tenzij ik application.screenupdating op True zet.
In de bijlage nog een extra screenupdating=0 toegevoegd.
 

Bijlagen

  • __getrapte validatie Pivottable snb.xlsb
    42,4 KB · Weergaven: 36
Ook F4 heeft een validatieregel (gebruik als check Home / Find & Select / Go to Special.../ Data Validation all )
Bij je laatste bestand, staat de validatie in F2,E3,F8:G12.
Ok, het is zoals het is, mocht ik het willen toepassen dan krijg ik het wel aan de praat.
 
@Alpha,

Zelfs met

Code:
Sub M_snb()
    MsgBox sheets("invoer").Cells.SpecialCells(xlCellTypeAllValidation).Address
End Sub

is het resultaat E2:G11.

Wat Excel 2007 doet weet ik niet.
 
Code:
$e$3,$f$8:$g$11,$f$2
 
Laatst bewerkt:
Hier idem dito.

Validaties die gemaakt zijn in nieuwere versies dan 2007 zijn over het algemeen verdwenen in Excel 2007.
 
Nou breekt mijn klomp.
Kan svp iemand met Excel 2010 testen of daar de validaties niet verloren gaan ?
 
Validatie in XL-2010: $E$2:$G$11
Validatie in XL-2007: $E$3,$F$8:$G$11,$F$2

Heeft het er niet mee te maken dat je in versies voor XL-2010 niet rechtstreeks een validatielijst uit een ander blad kan halen?
 
Of je misschien in excel2010 een extra optie/keuze hebt die in excel2007 nog niet bestond (backwards compatible)?
 
Blijkbaar is het inklappen van alle pivotitems in de draaitabel een snelheidsstruikelblok.
Die code heb ik nu versimpeld en beperkt tot de items die zichtbaar zijn.
Dat werkt bij mij in ieder geval sneller.

Toen ik aan deze aanpak begon had ik gehoopt dat de gehele draaitabel in het werkgeheugen benaderbaar zou zijn.
Dan zouden op basis van een gemaakte keuze de daarbijbehorende pivotitems uitgelezen kunnen worden.
Helaas heb ik geen methode gevonden waarbij dat mogelijk is.
Dan rest de methode waarbij toch interaktie met het werkblad (showdetail true/false) nodig is.
En met een draaitabel loopt dat niet al te vlot.

Mijn laatste versie met vereenvoudigde code in de bijlage.
Graag verneem ik daarvan de gevolgen in Excel 2010, 2007 en eventueel andere versies.
Bij mij loopt het in Excel 2010 even snel als vergelijkbare andere methoden.
 

Bijlagen

  • __getrapte validatie Pivottable snb.xlsb
    43,6 KB · Weergaven: 53
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan