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

waarde van cel weergeven binnen matrixformule

Status
Niet open voor verdere reacties.

ikselle

Gebruiker
Lid geworden
25 mei 2009
Berichten
198
Simpel waarschijnlijk maar ik raak er niet uit :
Deze formule staat in mijn werkblad
{=IF(COUNTIF(nrplaat!$B$2:$B$5402;kuisnrplt($B$1))<ROW()-ROW($C$2)+1;"";INDEX(nrplaat!$C$2:$C$5402;SMALL(IF(nrplaat!$B$2:$B$5402=kuisnrplt($B$1);ROW($B$2:$B$5402)-ROW(nrplaat!$C$2)+1;"");ROW()-ROW($C$2)+1)))}
Door vba ga ik de waarde van een cel bvb a1 aanpassen. Het getal 5402 uit de formule moet de waarde uit a1 worden.
Kan iemand een zetje geven?
Alvast bedankt !:o
 
Laatst bewerkt:
Beste,

Ik neem aan dat je de gekleurde waarde bedoeld, en daarmee dus een bereik wilt aanpassen op basis van een celwaarde.
Code:
{=IF(COUNTIF(nrplaat!$B$2:$B$[COLOR="#FF0000"]5402[/COLOR];kuisnrplt($B$1))<ROW()-ROW($C$2)+1;"";INDEX(nrplaat!$C$2:$C$[COLOR="#FF0000"]5402[/COLOR];SMALL(IF(nrplaat!$B$2:$B$[COLOR="#FF0000"]5402[/COLOR]=kuisnrplt($B$1);ROW($B$2:$B$[COLOR="#FF0000"]5402[/COLOR])-ROW(nrplaat!$C$2)+1;"");ROW()-ROW($C$2)+1)))}

Met de formule INDIRECT() kan je een tekstwaarde naar een bereikwaarde veranderen.

Je zou daarom in plaats van je oude bereik het volgende kunnen gebruiken (wanneer bijvoorbeeld in cel A1 je nieuwe waarde staat):
Code:
INDIRECT("nrplaat!B$2:$B$"&$A$1)
 
Bedankt voor je reactie Niek. Maar ik ben er niet uit want hoe moet dit nu concreet deze lange formule vervangen ?
Het is de bedoeling dat de range inderdaad aangepast wordt van zodra de waarde in cel A1 wijzigt.
 
Uitgaande van de celwaarde in A1.
Code:
{=IF(COUNTIF(INDIRECT("nrplaat!B$2:$B$"&$A$1);kuisnrplt($B$1))<ROW()-ROW($C$2)+1;"";INDEX(INDIRECT("nrplaat!C$2:$C$"&$A$1);SMALL(IF(INDIRECT("nrplaat!B$2:$B$"&$A$1)=kuisnrplt($B$1);ROW(INDIRECT("nrplaat!B$2:$B$"&$A$1))-ROW(nrplaat!$C$2)+1;"");ROW()-ROW($C$2)+1)))}

Enig nadeel is dat volgens mij je cel waar de formule in staat niet direct wordt bijgewerkt als je via vba de celwaarde in A1 wijzigt. Eventueel moet je nog op F9 klikken (formules herberekenen).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan