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

Formule in vba is langer dan 255 tekens

Status
Niet open voor verdere reacties.

geep1980

Gebruiker
Lid geworden
7 apr 2009
Berichten
348
ik wil in een rij van cellen een formule invoegen om gegevens uit andere tabbladen op te halen en met somproduct te vergelijk om tot juiste resultaten te komen.

Als ik de formule met de hand in een cel plaat en afsluit met ctrl + shift + enter en naar beneden trekt dan werkt het.
Echter als ik met de formule via vba in de cellen wil laten zetten dan werkt het niet, vanwege het feit dat ik meer dan 255 tekens gebruik.

Ik heb het volgende:

where_to_put_formulas = Range("B65536").End(xlUp).Offset(1, 0).Row
where_to_put_formulas2 = where_to_put_formulas - 1

Range( _
"$D$2:$D$" & where_to_put_formulas2 _
).Select
Selection.FormulaArray = _
"=SUMPRODUCT((INDIRECT(CELL(""contents"",INDIRECT(ADDRESS(ROW(),2)))&""_grafiek!$A$2:""&ADDRESS(LARGE(IF(INDIRECT(CELL(""contents"",INDIRECT(ADDRESS(ROW(),2)))&""_grafiek!$A$2:$A$1000"")<>"""",ROW(INDIRECT(CELL(""contents"",INDIRECT(ADDRESS(ROW(),2)))&""_grafiek!$A$2:$A$1000""))),1),1))=CELL(""contents"",INDIRECT(ADDRESS(ROW(),1))))*(INDIRECT(CELL(""contents"",INDIRECT(ADDRESS(ROW(),2)))&""_grafiek!$B$1:$M$1"")=CELL(""contents"",INDIRECT(ADDRESS(ROW(),3))))*(INDIRECT(CELL(""contents"",INDIRECT(ADDRESS(ROW(),2)))&""_grafiek!$B$2:""&ADDRESS(LARGE(IF(INDIRECT(CELL(""contents"",INDIRECT(ADDRESS(ROW(),2)))&""_grafiek!$A$2:$A$1000"")<>0,ROW(INDIRECT(CELL(""contents"",INDIRECT(ADDRESS(ROW(),2)))&""_grafiek!$A$2:$A$1000""))),1),13))))"


is het mogelijk om deze formule toch als macro formule in de cellen te krijgen.
 
Het gebruik van de sumproductfunctie in een groot aantal rijen, vertraagt bovendien de werking van je blad enorm. Ik vind het niet aan te bevelen.
 
Beste Geep,

Ik heb je formule niet geanalyseerd, maar is het probleem niet te verhelpen als je de formule in drieën hakt en over drie cellen spreidt? Dat zou VBA wel aan moeten kunnen.

Richard
 
+++moet het (naast somproduct) een matrix-formule zijn?????
 
Richard,

ik heb hem nu opgedeeld in drie stukken en dan werkt het prima.
Bedankt.

zapatr,

ik weet dat een matrixformule de boel erg vertraagd. Vandaar dat ik hem d.m.v. vba in de cellen neer wou zetten. Hij rekend het dan in 1x uit.
Daarna was ik van plan om de cellen te copieeren en alleen de waardes te plakken waardoor de matrixformule ook weer gelijk netjes opgeruimd zou worden.
Bedankt in ieder geval voor het aangeven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan