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

Tabelnaam of Bereiknaam (range-naam) dynamisch uitlezen

Status
Niet open voor verdere reacties.

Wocky

Gebruiker
Lid geworden
22 feb 2014
Berichten
192
Beste,

Weet iemand of het mogelijk is (en hoe) om een tabelnaam... of gedefinieerde range-naam uit te lezen?
In bijlage een voorbeeld.


In het voorbeeld lees ik het bereik van de tabel uit.
... in cel-notatie


Is het mogelijk om de kolomnaam hier uit te lezen?
Zelfde vraag indien je een bepaald bereik een naam hebt gegeven.
... ik weet dat er een functionaliteit in Excel zit, om namen & hun bereik te plakken op het werkblad
... maar deze "tekst" is dan niet dynamisch... als het bereik wijzigt door cellen in te voegen of dergelijks... of je wil de naam wijzigen... wijzigt de tekst niet mee.


Groeten Wocky.
 

Bijlagen

  • Map1.xlsx
    10,6 KB · Weergaven: 30
Ik weet niet wat je precies probeert te bereiken.
Maar kijk eens naar de functie TRANSPONEREN.
Daar kan je als matrix de namen Tabel1 en Gebied1 gewoon in gebruiken.
Wijzigt een cel in dat bereik dan dan wijzigt dat gewoon mee.
De kolom kan je ophalen met =KOLOM(Tabel1) bijvoorbeeld.
 
Laatst bewerkt:
Hey Edmoor,

Ik probeer hetzelfde te bereiken als ik doe in cel B5
... het bereik in tekst uitlezen.

Ik ben aan het knutselen met gegevensvalidatie...
... die zou ik dan kunnen inlezen met INDIRECT()

... op zich kan ik het celadres zoals het nu staat in B5 ook gebruiken.
... maar ik vraag me al een paar dagen af... of je bereik-namen op 1 of andere manier "dynamisch (of gekoppeld) kan weergeven.


Bedankt voor je feedback.
Wocky.
 
Hoi Wocky,

Het bestand en de vraagstelling is mij een beetje warrig. Kan je het misschien anders formuleren?

In geval je probeert om gegevensvalidatie voor elkaar te krijgen. Je kan een tabel aanwijzen met de pijl in de linkerbovenhoek. De naam van de tabel (in dit geval Tabel1) komt dan in het naamvak te staan.
Je kan vervolgens in een willekeurige (lege) cel kiezen voor gegevensvalidatie in het menu gegevens (groep hulpmiddelen voor gegevens). Bij toestaan kies je vervolgens voor lijst.
En bij bron vul je in =Tabel1.

Indien je tabel meerdere kolommen bevat kan je in een volgende cel op dezelfde manier gegevensvalidatie uitvoeren, maar dan vul je dus inderdaad bij bron in: =indirect(). En tussen haakjes vul je de betreffende cel in.

Ik denk niet dat je dit bedoelt, maar dat is het eerste wat ik eruit lees.



Bekijk bijlage 353170

Bekijk bijlage 353171
 
Hey Jon,

Bedankt voor je reactie.
Wat je aanhaalt is inderdaad wel heel dicht bij wat ik bedoel.

Wat meer uitleg hieronder opgesomd (beetje droog... maar gewoon voor de duidelijkheid)
... Ik wil graag gegevensvalidatie doen met een lijst.
... de lijst stop ik graag in een tabel.
... Ik stop die lijst graag in een tabel... aangezien het bereik van een tabel... van zichzelf "groeit" als je onderaan aanvult
... De "bereiknaam" van de tabel
Code:
Tabel1[Kolom1]
of
Code:
Tabel1
blijft het "gegroeide" bereik representeren.

Nu... je schrijft
En bij bron vul je in =Tabel1
Daar zit het hem zo blijkt... bij mij werkt dat niet... bij u wel..? (ik werk momenteel met office 365)
Het bronveld van datavalidatie-lijst accepteert bij mij dit enkel met INDIRECT()
Code:
=INDIRECT("Tabel1")
... maar met indirect wil zeggen... dat de "bereiknaam" tussen 2 aanhalingstekens staat... en dus tekst... en dus de informatie "Tabel1" is niet meer dynamisch gelinkt.
... Met Dynamisch gelinkt bedoel ik... als ik later de tabelnaam wil wijzigen... dan dien ik deze aanpassing overal manueel te wijzigen... waar ik die tekst "Tabel1" gebruikt heb.

Wat wel kan is... in een cel de Tekst "Tabel1" plaatsen... en dan de betreffende cel (bvb A1) inlezen met indirect... dus...
Code:
=INDIRECT(A1)
... maar... de "tekst" "Tabel1" Blijft gewoon tekst in cel A1... en dus als ik Tabel1 wijzig naar iets anders... bijvoorbeeld "TabelData"... dan blijft in cel A1 dus de tekst "Tabel1" staan.

Vandaar komt dus mijn vraag... :)
... hoe kan ik de tabelnaam "Tabel1" weergegeven krijgen in een Cel... en alsdusdanig dat... als de betreffende tabel van naam veranderd... deze naam ook uitgelezen wordt in de cel.
... en dezelfde vraag voor een gedefinieerde BereikNaam... Je weet wel... bij menu "Formules" -> "Gedefinieerde namen" -> enz...


In de bijlage van de 1ste post... knutsel ik het bereik in "A1"-notatie in elkaar.. zodanig het van zichzelf aanpast als het bereik van de tabel "groeit"
... en ik vroeg me dus af... of je niet gewoon de tabelnaam "dynamisch" (dus gelinkt) kan uitlezen...
... om die dus op zijn beurt te kunnen gebruiken in datavalidatie... maar met de mogelijkheid om de naam van de tabel nadien nog te kunnen wijzigen... zonder ik overal de bron-input van datavalidatie (of input elders) dien aan te passen.


Bedankt voor je reactie.
Groeten Wocky

(N.B.: Vergeef me mijn zinsbouw ... ik doe m'n best :) )
 
Validatie

Wocky,

Ik neem je helemaal niks kwalijk. Eerder mezelf omdat ik niet goed ben in interpreteren ;)

Ik stuur hierbij je bestand mee. Op het tweede tabblad heb ik een voorbeeld meegestuurd van gegevensvalidatie icm indirect.

Let niet op de invulling, het gaat om de werkwijze. Ik heb het volgende uitgevoerd:

1) Tabel opmaken en invullen (Tabel2)
2) 1e kolom selecteren en een naam toewijzen (Test)
3) 2e kolom selecteren en een naam toewijzen (Waarde_B) Let op, geen spatie-gebruik bij validatie.
4) 3e kolom selecteren en een naam toewijzen (Waarde_C)
5) Lege cel selecteren (F4)
6) Via Gegevensvalidatie Toestaan: Lijst en Bron: =Test (mogelijk begint het met een foutmelding die je kan negeren)
7) Lege cel selecteren (F5)
8) Via Gegevensvalidatie Toestaan: Lijst en Bron: =Indirect

In cel F4 komt de keuze terecht uit de 1e kolom van Tabel2
In cel F5 komt de keuze terecht uit de 2e kolom van Tabel2 wanneer Waarde_B is gekozen
In cel F5 komt de keuze terecht uit de 3e kolom van Tabel2 wanneer Waarde_C is gekozen

De tekst uit de 1e kolom en de gegeven naam in de namenlijst dienen gelijk te zijn.
Op het moment dat één van de twee wordt aangepast werkt de validatie niet meer.
De kolomnaam kan wel worden aangepast.

Merk op dat wanneer je de tekst in cel F4 verwijdert of aanpast naar bijvoorbeeld Waarde-A, de tekst in cel F5 blijft staan, maar niet hoort bij de eerste keus.
Hier is een manier voor om automatisch mee te laten veranderen, maar dat is weer een stap verder.

Ik hoop dat je hier mee vooruit kan, vandaag moet ik afsluiten, maar ik kijk later in de week wel weer of het gelukt is.
 

Bijlagen

  • Voorbeeld validatie.xlsx
    12,9 KB · Weergaven: 27
Hey Jon,

Erg bedankt voor je hulp en voorbeeld.

Dit is inderdaad wat ik wil bekomen... maar ik had gehoopt op een excel-functie om de naam van bvb het gebied "Waarde_C"
... uit te lezen in een cel.
... Zodanig, dat ik later bij namenbeheer... de naam "Waarde_C" -> kan veranderen naar "Waarde_X".
... dan zou ik deze naam uitgelezen hebben in cel B7 ... waar je momenteel nog genoodzaakt bent ook daar... de tekst te veranderen naar "Waarde_X".
(met later bedoel ik... na opbouw & evaluatie van de rekenbladen die ik aan het maken ben)
(of om evolutie van het rekenblad flexibeler te houden)


Alsnog bedankt voor je duidelijk en eenvoudig voorbeeld.
Dit inspireert me misschien wel om ... op volgende manier te werk te gaan...
... bij wijziging in namenbeheer... steeds een nieuwe namenlijst plakken... op dezelfde plaats... waar ik dan 1 en ander kan opzoeken / uitlezen op de manier zoals je aangeeft.


Hartelijk dank voor je uitleg.
Groeten Wocky.
 
Wocky,

Hoi Wocky,

Mogelijk dat je nog iets kan met deze formule:

=CEL.LEZEN(RIJ();INDIRECT(ADRES(1;2)))


Ik ben hier niet helemaal mee bekend, dus je kan hier mee puzelen of iemand anders kan je hier misschien verder mee helpen. Maar ik denk dat je antwoord hier ergens in zit...
 
Hey Jon,

Ik krijg de melding dat de functie "ongeldig" is.


Zojuist heb ik ook nog ontdekt dat
... een benoemde bereiknaam anders is dan een tabelnaam.

Als je F3 drukt bij het invullen van je gegevensvalidatie
... dan krijg je slechts een keuzelijstje uit de eigen gedefinieerde namen
... en dus niet de tabelnamen (het icoontje van tabelnamen is ook anders in de name-manager)

Ik heb ook gemerkt dat... indien een eigen gedefinieerde naam
... gelinkt is aan een tabel-bereik
... het bereik van de eigen gedefinieerde naam mee "groeit" met het tabelbereik (logisch... maar toch het vermelden waard)


Anderszijds kan je gemakkelijk een bereik "Dynamisch" uitlezen met allerlei geconcstrueerde formules.
... maar deze vind ik het meest duidelijk
... ook het meest duidelijk om te kopiëren & herlinken of te lezen of dergelijks...
(Edit: In onderstaande formule ga ik er vanuit de betreffende tabel slechts 1 kolom heeft.
... indien meer kolommen... dien je ook met MIN & MAX te werken voor de KOLOM() - functie)

=ADRES(MIN(RIJ(Tabel1));KOLOM(Tabel1)) & ":" & ADRES(MAX(RIJ(Tabel1));KOLOM(Tabel1))


Nu vind ik het nog vreemd dat... als je de bladnaam mee in het adres wil opnemen
... je toch ook weer een (geen "draak" maar) salamander van formule moet opstellen.
... je zou toch verwachten dat er een functie bestaat om dit uit te lezen...

=RECHTS(CEL("filename";$A$1);(LENGTE(CEL("filename";$A$1))-VIND.ALLES("]";CEL("filename";$A$1))))


Dus uiteindelijk

=ADRES(INDEX(RIJ(Tabel1);1);KOLOM(Tabel1);;;RECHTS(CEL("filename";$A$1);(LENGTE(CEL("filename";$A$1))-VIND.ALLES("]";CEL("filename";$A$1))))) & ":" & ADRES(INDEX(RIJ(Tabel1);AANTAL(RIJ(Tabel1)));KOLOM(Tabel1))


ok je kan de bladnaam nog wegschrijven in een andere cel
... zodanig het wordt

=ADRES(INDEX(RIJ(Tabel1);1);KOLOM(Tabel1);;;$A$1) & ":" & ADRES(INDEX(RIJ(Tabel1);AANTAL(RIJ(Tabel1)));KOLOM(Tabel1))


Maar goed...
Het zal zijn reden wel hebben.
Aan de andere kant moet ik dankbaar zijn dat Excel "bestaat"


Groeten Wocky.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan