Inhoud
Inleiding
Bereiknamen zijn een belangrijke functionaliteit die Excel biedt. Daarom
een uitgebreide beschrijving in dit artikel!
In Excel is het mogelijk een bereik van cellen een naam te geven. Wordt
dat gedaan, dan kan voortaan deze naam gebruikt worden om naar dat bereik
te verwijzen, in plaats van het adres. Over het algemeen is een naam van
een bereik makkelijker te onthouden dan het adres van de begin- en eindcel
van een bereik.
Het gebruik van namen heeft een aantal voordelen: bereiken zijn eenvoudiger
terug te vinden, formules zijn makkelijker te begrijpen, enzovoorts.
Verder zijn er zaken in Excel die alleen mogelijk zijn door een bereik
eerst een naam te geven. Maar er kan veel meer met namen in Excel. Er kunnen
ook formules in gebruikt worden en dat opent een wereld van mogelijkheden.
Sterker nog, omdat tevens de oude Excel 4 macro functies in een gedefinieerde
naam mogen worden toegepast zijn dingen mogelijk die normaal gesproken alleen
via een VBA macro kunnen worden gerealiseerd.
Hoe kunnen namen worden gedefinieerd
Er zijn verschillende methoden om een naam aan een bereik te geven.
De eerste gebruikt het naamvak links van de formule balk (zie Afbeelding
1). Het bereik kan een naam worden gegeven door de gewenste cel of cellen
te selecteren, in het naamvak te klikken en de gewenste naam in te tikken.
Vervolgens moet op enter worden gedrukt om de naam te laten accepteren
door Excel. Het is ook mogelijk het bereik waarnaar een naam verwijst te
laten selecteren, door de naam te kiezen uit de lijst die in het naamvak
verschijnt wanneer op het pijltje ernaast wordt geklikt.
Afbeelding 1: Naamvak met naam erin
Een snelle methode kan worden gevolgd wanneer de gewenste naam van een
cel of bereik van cellen al in een of meer cellen naast het bereik staat.
Bijvoorbeeld zoals in Afbeelding 2.
Afbeelding 2: bereik cellen met namen
Het bereik met de namen en de cellen waarnaar de namen moeten verwijzen
moet worden geselecteerd. Vervolgens moet in het menu gekozen worden:
Tab Formules, knop Maken o.b.v. selectie
Het venster uit Afbeelding 3 verschijnt. Door in dit voorbeeld de opties
aan te vinken zoals in Afbeelding 3 is gedaan, worden in één klap zeven
namen gedefinieerd:
Afbeelding 3: dialoogvenster Naam maken
De drie cellen onder Appels
De drie cellen onder Peren
De drie cellen onder Bananen
De drie cellen rechts van Europa
De drie cellen rechts van Azie
De drie cellen rechts van Amerika
De derde methode om een naam te definiëren is door op de tab Formules
op Naam definiëren te klikken, zie Afbeelding 4. Deze methode zal verderop
in dit artikel worden toegepast.
Afbeelding 4: dialoogvenster naam definiëren
Hoe kunnen gedefinieerde
namen worden gebruikt
Met de tabel van Afbeelding 3 kan getoond worden wat er met namen
mogelijk is. Wanneer de som van verkochte appels berekend moet worden, zou
daarvoor normaal gesproken de formule =SOM(B2:B4) gebruikt worden. Na het
definiëren van namen kan echter volstaan worden met =SOM(Appels). Het moge
duidelijk zijn, dat deze laatste formule veel eenvoudiger te begrijpen is.
Afbeelding 5, formule met naam
Een interessant feit is verder, dat een naam altijd een matrix is (in
de Excel beleving). Als een gelijk aantal cellen wordt geselecteerd als
het aantal waarnaar de naam verwijst, dan kan dit worden getoond. De formule
=Appels geeft in Excel (vanaf 2021 en 365) de drie waarden voor Appels onder
elkaar:
Afbeelding 5a: Een naam is een matrix
Er kunnen ook andere dingen met namen gedaan worden. Zo geeft deze
formule de omzet aan appels in Europa (1000):
=Appels Europa
Door de twee namen te scheiden met een spatie wordt hier aangegeven
dat het snijpunt van beide namen gebruikt moet worden. Dit snijpunt kan
overigens meerdere rijen en kolommen beslaan.
In feite kunnen namen worden toegepast op alle plaatsen in Excel
waar een cel of een bereik van cellen moet worden opgegeven.
Één speciaal voorbeeld is het valideren van data met de "lijst"
optie (Zie afbeelding 6). Zonder in te gaan op deze krachtige functie in
Excel wordt even getoond, dat het hiermee mogelijk wordt een lijst op te
geven die zich niet op hetzelfde blad bevind als het celbereik waarvoor
de validatie wordt ingesteld. Normaal gesproken is dit niet mogelijk:
Afbeelding 6:Data, valideren, lijst optie
-
Selecteer Blad2 van een bestand;
-
Kies Gegevens >> Valideren uit het menu van Excel;
-
Kies de optie "Lijst" bij "Toestaan";
-
Probeer nu als bronbereik =Blad1!B2:B4 op te geven;
-
Er verschijnt een foutmelding, zie afbeelding 6.
Om nu toch een bereik van een ander werkblad te kunnen toepassen
kan gebruik gemaakt worden van de naam die eerder aan dit bereik gegeven
is: "Appels".
Vul deze formule in in het invoervak "Bron":
=Appels
De validatie zal nu wel worden geaccepteerd.
Absolute en relatieve adressering
Bij het definiëren van namen wordt standaard gebruik gemaakt van
absolute celverwijzingen in de vorm Blad1!$A$1. De dollartekens geven hierbij
aan, dat dit adres absoluut moet worden geïnterpreteerd: onafhankelijk van
de cel waar de naam in wordt gebruikt, wordt steeds hetzelfde adres gebruikt.
Het is echter ook mogelijk om relatieve verwijzingen te gebruiken.
Dit biedt interessante mogelijkheden.
Als bijvoorbeeld cel C3 op blad 2 is geselecteerd en de naam wordt
gedefinieerd als =Blad2!A1 (via Formules, Naam definiëren, zie Afbeelding
7), dan zal de naam verwijzen naar een cel twee kolommen naar links en twee
naar boven ten opzichte van de cel waarin de naam is gebruikt.
Afbeelding 7, definiëren relatieve naam
De formule =Relatief in cel C14 op blad 2 verwijst dus naar cel
A12 (zie Afbeelding 8).
Afbeelding 8: voorbeeld relatieve verwijzing
De context van namen
Wanneer een naam wordt gedefinieerd volgens de eerder in dit artikel
beschreven methoden, dan is een naam altijd zichtbaar in de gehele werkmap.
Dit wordt in het algemeen als een globale naam aangeduid. Namen
kunnen echter ook lokaal zijn ten opzichte van een bepaald werkblad. Door
tijdens de definitie uit de "bereik" keuzelijst het werkblad te kiezen,
wordt de naam lokaal gemaakt naar het desbetreffende blad.
Afbeelding 9: definitie van een lokale naam
Lokale namen zijn in het venster Namen Beheren herkenbaar door
de naam van het werkblad in de kolom "bereik":(zie Afbeelding 10).
Afbeelding 10: lokale naam in venster Namen Beheren
Wanneer een naam zowel in lokale als in globale vorm voorkomt,
kan er verwarring ontstaan welke naam waar gebruikt wordt.
Op het blad met de lokale naam wordt altijd de lokale naam gebruikt.
Op andere werkbladen wordt de globale naam gebruikt, tenzij voorafgegaan
door de bladnaam die de lokale naam bevat: =Blad3!LokaleNaam
Wanneer een werkblad waarnaar één of meer globale namen verwijzen
wordt gekopieerd naar dezelfde map, dan zal Excel automatisch op de kopie
lokale kopieën van de namen maken. Afbeelding 11 toont het gevolg voor de
gedefinieerde namen in het dialoogvenster "Namen Beheren".
Merk op, dat de (identiek genoemde) globale namen niet zomaar gewijzigd
kunnen worden. Daartoe moet een ander werkblad worden geselecteerd.
Afbeelding 11: Namen beheren venster na kopie van blad met namen
Speciale namen
Excel zelf gebruikt ook namen om bepaalde zaken te regelen. De
tabel hieronder geeft enkele voorbeelden:
Gebruikte optie
Voorbeeld van naam
Afdrukbereik
Blad1!Afdrukbereik
Afdruktitels
Blad1!Afdruktitels
Criteria Geavanceerd filter
Blad1!Criteria
Het is niet verstandig deze namen te verwijderen, dit kan beter aan Excel
overgelaten worden.
Tot nu toe verwezen de namen in dit artikel steeds naar een bereik
cellen. In werkelijkheid is een naam eigenlijk aan een formule gekoppeld.
In het geval van een celbereik in de eenvoudige vorm van bijvoorbeeld =Blad1!$B$2:$B$4.
Maar in deze formule mag elke willekeurige functie van Excel worden
toegepast. Ofwel: iedere functie die in een cel mogelijk is, kan ook in
een naam gebruikt worden. Dit opent een wereld van mogelijkheden!
Bekijk Afbeelding 12. Hierop wordt (met cel B5 als actieve cel)
de naam Kolomsom gedefinieerd. Hierbij wordt ook het principe van een relatieve
verwijzing toegepast zoals al eerder besproken is. De formule in Kolomsom
is:
=SOM(B$2:B$4)
Ofwel de som van de drie cellen van rij 2 tot en met 4 in dezelfde
kolom.
Afbeelding 12: Formule in naam
Door vervolgens in de cellen B5 tot en met D5 deze formule in te
voeren: =KolomSom (zie Afbeelding 13), kan door middel van de formule in
de naam KolomSom de som van de drie bovenliggende rijen worden bepaald.
Het voordeel van een dergelijke werkwijze openbaart zich vooral bij complexe
formules: bij een wijziging hoeft alleen de formule in de naam aangepast
te worden en niet in vele cellen.
Afbeelding 13: Formule in cellen
Een andere handige eigenschap van bereiknamen is dat ze zich standaard
gedragen als matrix formules.
Een dynamisch bereik in een naam
Vaak is het zo, dat totalen berekend moeten worden van lijsten waar op
een later tijdstip nog gegevens aan toegevoegd zullen worden. Het is dan
niet handig om steeds bij het toevoegen van gegevens de celbereiken in formules
aan te moeten passen. Het is praktischer als dit automatisch gebeurt. Zie
bijvoorbeeld Blad5 van Namen01.xls.
Door gebruik te maken van de functie VERSCHUIVING kan een bereik van
cellen worden "berekend". De functie wordt als volgt opgebouwd:
=VERSCHUIVING(startadres;AantalRijenOmlaag;AantalKolommenNaarRechts;AantalRijen;AantalKolommen)
Als start adres wordt cel B2 op Blad5 genomen: Blad5!$B$2 Het aantal
rijen omlaag is nul: 0 Het aantal kolommen naar rechts ook nul: 0 Het aantal
te gebruiken rijen wordt uitgerekend middels de AANTALARG functie. Deze
functie telt het aantal cellen in een bereik waarin iets is ingevuld (inclusief
tekst): AANTALARG(Blad5!$A:$A)-1.
Omdat de rij met titels niet moet meetellen is er 1 van het resultaat
afgetrokken. Ten slotte moet het aantal kolommen worden ingevuld: 1 De gehele
formule zal er dan als volgt uit moeten zien:
=VERSCHUIVING(Blad5!$B$2;0;0;AANTALARG(Blad5!$A:$A)-1;1)
Deze formule is ingevuld in de naam "AppelsDynamisch", zie Afbeelding
14.
Afbeelding 14: Definitie dynamische naam
Door kolom A te gebruiken om te bepalen hoeveel rijen er zijn, zal het
bereik van deze nieuwe naam altijd gebaseerd zijn op het aantal ingevulde
cellen in die kolom. Deze kolom mag daarom ook geen andere ingevulde cellen
bevatten buiten het bereik van de tabel met de gegevens (bijvoorbeeld cel
A100), anders klopt het aantal niet. Ook lege cellen in het bereik dat wél
interessant is leiden natuurlijk tot problemen, omdat er dan te weinig regels
meegenomen gaan worden.
Wanneer nu een nieuw "gebied" aan de tabel wordt toegevoegd in cel A5,
bijvoorbeeld Australië, dan zal de naam AppelsDynamisch automatisch gaan
verwijzen naar het bereik B2:B5. Als dus een verkoopcijfer voor appels in
Australië wordt ingevoerd, dan wordt dat vanzelf in het totaal verwerkt.
Om de bereiken voor peren en bananen ook dynamisch te maken, wordt weer
de VERSCHUIVING functie gebruikt. Nu wordt deze echter gerelateerd aan de
al bestaande dynamische naam AppelsDynamisch. PerenDynamisch wordt gedefinieerd
als:
=VERSCHUIVING(AppelsDynamisch;0;1)
Ofwel: het bereik AppelsDynamisch met een verschuiving van 1 kolom naar
rechts. Op soortgelijke wijze wordt BananenDynamisch gedefinieerd:
=VERSCHUIVING(AppelsDynamisch;0;2)
Ten slotte kan de gehele tabel ook nog dynamisch gemaakt worden, zodat
toevoegingen in de breedte ook worden verwerkt: "Omzetdynamisch".
=VERSCHUIVING(Blad5!$B$2;0;0;AANTALARG(Blad5!$B:$B)-1; AANTALARG(Blad5!$1:$1)-1)
Hierbij wordt dus zowel het aantal rijen als het aantal kolommen waarnaar
deze naam verwijst berekend.
De werking van deze namen kan worden gecontroleerd door in het werkblad
Blad5 op de toets F5 (Ga Naar) te drukken, de naam in het verwijzing vak
in te vullen en op OK te klikken. Als het goed is wordt het berekende bereik
dat bij die naam hoort dan geselecteerd.
Een praktijkvoorbeeld van dynamische namen in combinatie met een grafiek
is te zien in het bestand autochrt.zip.
Nog een stap verder: XL4 Macro functies in gedefinieerde namen
Nog minder bekend dan het gegeven dat men functies in namen kan toepassen
is het feit, dat ook XLM macro functies (de oude macro commando’s van Excel
versie 4) kunnen worden gebruikt. Hiermee kunnen oplossingen gemaakt worden
die normaal gesproken slechts met VBA mogelijk zijn. Één waarschuwing vooraf
is wel noodzakelijk: Bij verschillende versies van Excel kunnen cellen die
gebruik maken van namen waarin XLM functies gebruikt zijn NIET naar een
ander blad worden gekopieerd. Excel kan dan crashen! Kopiëren binnen een
werkblad of het kopiëren van alleen de formule (door de tekst van de formule
in het formulevak of in de cel te selecteren en te kopiëren) is geen probleem.
Voorbeeld 1: een lijst van bestanden in een werkblad aanmaken.
Het kan handig zijn een lijst met de bestanden in een bepaalde directory
in een werkblad in Excel te krijgen. Met behulp van de macrofunctie BESTANDEN
kan dit worden gerealiseerd. De naam "Bestanden" wordt gedefinieerd, met
de volgende formule:
=BESTANDEN(Blad6!$C$2).
In een werkblad wordt vervolgens in bijvoorbeeld cel C2 de naam van de
map en de gewenste wildcard ingevoerd, bijvoorbeeld c:\*.* . In een kolom,
startend vanaf rij 1, kan de lijst met bestanden via de volgende formule
worden opgeroepen:
=INDEX(Bestanden;RIJ())
Deze cel moet vervolgens omlaag gekopieerd worden totdat de formules
#VERW! als resultaat geven, ten teken dat er geen verdere bestanden meer
zijn. Zie Afbeelding 15. Door een ander pad of bestandsstructuur in cel
C2 in te voeren kan een lijst voor een andere map of een andere set bestanden
worden gemaakt.
Afbeelding 15: een lijst met bestanden maken
Voorbeeld 2: de vulkleur van een cel lezen.
Met de functie CEL.LEZEN kunnen allerlei eigenschappen van een cel worden
opgevraagd. Onder andere de achtergrondkleur. Hiertoe is de volgende naam
gedefinieerd, terwijl cel B2 actief was: Naam: CelKleur Verwijst naar: =CEL.LEZEN(63;Blad7!A2)+Nu()*0
De toevoeging NU()*0 zorgt ervoor, dat de naam bij elke herberekening wordt
meegenomen. Het argument 63 geeft aan, dat de achtergrondkleur moet worden
opgevraagd. Zie afbeelding 16.
Afbeelding 16: definitie van CelKleur
Merk op, dat een relatieve verwijzing is gebruikt, zodat de naam celkleur
de kleurindex zal weergeven van de cel links ten opzichte van de cel met
de formule =CelKleur Omdat een verandering van de achtergrondkleur van een
cel geen herberekening veroorzaakt, zal deze formule helaas niet bijgewerkt
worden als een ander vulkleur wordt gekozen. Met deze methode is het mogelijk
om bijvoorbeeld alle blauwe cellen op te tellen in een bepaald bereik(zie
afbeelding 17).
Afbeelding 17: optellen cellen met bepaalde kleur
Voorbeeld 3: Alleen de getoonde decimalen optellen in een cel.
Wanneer getallen in een cel worden afgerond door gebruik te maken van
een bepaald getalsformaat (bijvoorbeeld op 1 cijfer achter de komma), dan
kunnen afrondingsverschillen ontstaan wanneer een reeks cellen wordt opgeteld.
Dit komt omdat Excel blijft rekenen met de getallen/uitkomsten die werkelijk
in de cel staan en niet met de getoonde getallen. Via de functie CEL.LEZEN
kan de getoonde waarde van een cel worden opgevraagd. Hiervoor is de onderstaande
naam gebruikt:
Naam: GetalInCel Verwijst naar: =CEL.LEZEN(53;Blad8!A2)+NU()*0
Zie afbeelding 18.
Afbeelding 18: Optellen getoonde waarden
Duidelijk is te zien dat de SOM functie een ander resultaat (18,9) geeft
dan men op basis van de getoonde cijfers zou verwachten (18,8). Natuurlijk
kan dit effect ook worden bereikt door de functie AFRONDEN te gebruiken
en vervolgens de afgeronde getallen op te tellen. In de hier gebruikte methode
zal het resultaat zich echter automatisch aanpassen indien de opmaak van
de getallen wordt aangepast (na herberekenen).
Voorbeeld 4: Automatisch naar het vorige en volgende werkblad verwijzen.
Het kan nog wel eens handig zijn om een methode te hebben waarmee verwezen
kan worden naar cel(len) op het voorgaande werkblad. Dus zelfs wanneer dat
blad verplaatst wordt, blijft de functie verwijzen naar het blad direct
links van het huidige. Indien de formule gekopieerd wordt van Blad2 naar
Blad3, zullen de formules op Blad3 nu verwijzen naar Blad2 en niet naar
Blad1. Normaal zal een gekopieerde formule blijven verwijzen naar het blad
waarnaar het al verwees. Zie ook het bestand Namen02.xls op de CD. Hiertoe
is een combinatie van verschillende namen nodig. De volgende functie geeft
een lijst van alle werkbladen in een werkmap:
=WERKMAP.LEZEN(1+0*NU())
Deze functie is gebruikt in de naam "AlleBladen". Het resultaat van AlleBladen
zal deze matrix zijn:
{[namen02.XLS]Blad1;[namen02.XLS]Blad2;[namen02.XLS]Blad3}
De naam van het huidige blad (het blad waarin de onderstaande naam is
toegepast) kan worden bepaald met:
=CEL.LEZEN(32+0*NU();INDIRECT(GetRC;ONWAAR))
De formule INDIRECT(GetRC;ONWAAR) heeft altijd als resultaat de cel waarin
een naam gebruikt wordt die die functie aanroept. De functie GetRC bepaalt
welke letters Excel moet gebruiken voor de aanduiding van rij en kolom.
In een Nederlandse Excel versie is dat RK, in de Engelse RC:
Naam: GetRC
Formule: =SUBSTITUEREN(VERWIJZING.TEKST(!$A$1);1;"")
CEL.LEZEN(32;..) geeft de naam van het werkblad waarnaar deze functie
verwijst, voorafgegaan door de bestandsnaam. Op Blad2 is het resultaat van
deze functie (toegepast in de naam DitBlad) dus: [namen02.XLS]Blad2
Door nu de volgende functie te gebruiken kan de naam van het vorige werkblad
worden bepaald (gedefinieerd als "VorigBlad"):
=INDEX(AlleBladen;VERGELIJKEN(DitBlad;AlleBladen;0)-1)
De VERGELIJKEN functie geeft hierbij de positie van de naam van het huidige
blad in de lijst met werkbladen. Door 1 af te trekken van dit getal wordt
dus de positie van het voorgaande werkblad aangegeven. Vervolgens wordt
via de INDEX functie de naam van dat voorgaande werkblad bepaald. Op dezelfde
manier kan het volgende blad worden verkregen (gedefinieerd als "VolgendBlad"):
=INDEX(AlleBladen;VERGELIJKEN(DitBlad;AlleBladen;0)+1)
Indien nu verwezen moet worden naar cel B2 op het vorige blad, dan kan
dit met de onderstaande formule (in een cel):
=INDIRECT("'"&VorigBlad&"'!"&CEL("address";B2))
En evenzo voor het volgende werkblad:
=INDIRECT("'"&VolgendBlad&"'!"&CEL("address";B2))
Het bestand Arg2Name.zip op de download pagina
geeft enkele voorbeelden van het toepassen van XLM macro functies in namen.
Om inzicht te krijgen in wat nog meer mogelijk is, kan het
Microsoft Help bestand voor de XLM functies (in verschillende talen, waaronder
Nederlands) gevonden worden op deze pagina
Dit deel is met de komst van de LAMBDA functie
volledig overbodig geworden. Dus heb je Excel als onderdeel van
Microsoft 365 en zit je op het Monthly channel, lees dan dit artikel:
Excel LAMBDA functie, De basis
Zoals is te zien in het bestand Arg2Name.zip (zie de
download pagina), is er een truc
om een argument door te geven aan een formule in een naam.
Allereerst dient een naam Myref (zie hieronder) te worden gemaakt, welke
de tekst van de formule van de aanroepende cel (de cel waarin één van de
onderstaande namen voorkomt) evalueert en daar de tekst "Rij(" in opzoekt.
De formule moet als volgt worden opgebouwd:
=ALS(RIJ(ref),NaamVanDeGedefinieerdeFormule)
Alle tekens na "RIJ(" en voor het eerste haakje sluiten worden vervolgens
door de naam myref doorgegeven aan de andere naam en in de INDIRECT functie
van die naam in een echt bereik omgezet.
MyRef:
=MIDDEN(CELL.LEZEN(6;INDIRECT(GetRC;ONWAAR));VIND("RIJ(";CELL.LEZEN(6;
INDIRECT(GetRC;ONWAAR)))+4;VIND(")";CELL.LEZEN(6;INDIRECT(GetRC;ONWAAR)))-VIND("RIJ(";CELL.LEZEN(6;INDIRECT(GetRC;ONWAAR)))-4)
Merk op, dat in Myref ook de naam GetRC wordt gebruikt. Dit is gedaan
om te voorkomen dat MyRef aan de taal van uw Excel moet worden aangepast.
De functie GetRC haalt de juiste spelling van "RK" (in het Engels "RC")
op en gebruikt die in MyRef:
Naam: GetRC
Formule: =SUBSTITUEREN(VERWIJZING.TEKST(!$A$1);1;"")
Hier een paar voorbeelden:
IsFormula =CELL.LEZEN(48;INDIRECT(myref)))+0*now()
CellColor =CELL.LEZEN(63;indirect(MyRef))+0*now()
RowIsHidden =IF(CELL.LEZEN(17;INDIRECT(Myref))=0;TRUE;FALSE)+0*now()
RowHeight =CELL.LEZEN(17;INDIRECT(Myref))+0*NOW()
Een voorbeeld hoe deze funkties in een cel moeten worden gebruikt:
=ALS(RIJ(D3);CellColor)
Toont de kleurindex van de achtergrond van cel D3.
=IF(ROW(D3),RowHeight)
Toont de regelhoogte van regel 3 (cel D3).
Bugs in Excel's naam object
Tijdens de ontwikkeling van de
Name Manager, is een aantal bugs in Excel's naam object gevonden.
RefersToLocal
De RefersToLocal eigenschap van een naam accepteert slechts een Engelse
formule. Bijvoorbeeld deze programmaregel:
Names("Test").RefersToLocal="=SOM($A$1;$B$1)"
geeft in de Nederlandse Excel een foutmelding, zelfs als Excel een dergelijke
formule gewoon in een cel accepteert. In de Name Manager is hiervoor een
oplossing gemaakt.
Via VBA formulier naam definieren tonen
Wederom een probleem voor niet Engelse Excel versies: Wanneer men via
VBA het formulier Naam definieren toont, via:
Application.Dialogs(xlDialogDefineName).Show
of
Application.CommandBars(1).FindControl(ID:=878, recursive:=True).Execute
dan zal Excel de celverwijzing altijd weergeven in R1K1 notatie, ongeacht
de instelling van Excel.
Namen van werkbladen met speciale tekens
Wanneer men een naam creëert op een blad genaamd "Test":
Naam: Test!test
Verwijst naar: "1"
en vervolgens het blad een andere naam geeft, bijvoorbeeld "Hallo! daar!"
(zonder de aanhalingstekens), dan wordt deze naam ontoegankelijk voor bewerken
en/of wissen. Andere vreemde karakters in bladnamen (zoals "[", "]" en char(3)
) kunnen zelfs leiden tot het vastlopen van Excel, wanneer geprobeerd wordt
lokale naam in deze bladen te bewerken. De Name Manager waarschuwt in geval
dit zich voordoet.
Globale en lokale namen met dezelfde naam
Wanneer men een lokale naam heeft op het actieve werkblad en er een globale
naam is met dezelfde naam, dan zullen de eigenschappen van de lokale naam
worden gewijzigd wanneer men tracht de globale naam te wijzigen, zelfs indien
men de naam van de werkmap voor de globale naam plaatst (de aangegeven methode
om een globale naam aan te duiden). De Name Manager voorkomt deze problemen
en bewerkt altijd de naam die u selecteert.
Namen waarvan de "verwijst naar" eigenschap begint met =!
(bijvoorbeeld =!$A$1) kunnen onverwachte resultaten geven als de herberekening
van Excel veroorzaakt wordt door VBA. Dergelijke namen zouden de waarde
van de aangegeven cel op het blad waar de naam in gebruikt is moeten geven,
maar wanneer de herberekening vanuit VBA wordt gestart geven dergelijke
namen ineens de waarde uit een cel van het actieve werkblad weer. De Name
Manager zal een waarschuwing geven wanneer een naam met een dergelijke verwijzing
wordt aangetroffen.
Mocht u een naam wensen die altijd verwijst naar een cel op het blad
waarin die naam gebruikt wordt, gebruik dan:
=INDIRECT("A1") in plaats van =!$A$1 .
Conclusie
Dit artikel heeft inzicht willen geven in de kracht van Bereiknamen in
Excel. Startend met het eenvoudigweg benoemen van een bereik cellen, voortgezet
met de krachtige optie om Excel’s werkblad functies in namen toe te passen,
tot en met het gebruiken van XLM macro functies om daarmee nog meer mogelijkheden
te ontsluiten. Door een juiste toepassing van namen kunnen geavanceerde
en onderhoudsvriendelijke rekenbladen worden gebouwd.
Name Manager
Het maken en bewerken van bereiknamen in een bestand is veel eenvoudiger
met deze utility!
Links
Er zijn meer websites met uitgebreide informatie over bereiknamen. Een
site die aan te bevelen is:
Chip
Pearson (Engels)