Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Home > Nederlandse site > Artikelen > Excel Namen > Argumenten
This page in English

Bereiknamen in Excel

Argumenten doorgeven naar formule in een naam

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