Bereiknamen in Excel
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 .






Vragen, suggesties en opmerkingen
Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.
Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: www.eileenslounge.com.