Plotinus
Gebruiker
- Lid geworden
- 25 mrt 2007
- Berichten
- 649
Ik wil graag diverse kolommen in een bereik optellen, nadat de rij is gevonden waar de waardes uit opgehaald moeten worden. Het lukt wel dit kolom per kolom te doen:
Echter de volgende code
geeft een foutmelding : Fout 13; 'Typen komen niet met elkaar overeen'. Ik snap dit niet en weet niet hoe dit op te lossen; in beide kolommen zijn het getallen. Natuurlijk kan ik een waarde1 en waard2 etc. bepalen en optellen, maar met veel kolommen wordt het wat omslachtig en mogelijk traag. Ik heb het vermoeden dat dit veel slimmer en krachtiger kan, zoals in het rekenblad zelf. Ik wil echter naar deze VBA-methode omdat dezelfde formule steeds opnieuw op veel plaatsen moet worden uitgevoerd, en een functie me veel flexibeler maakt.
Iemand een gouden tip?
In de spreadsheet doe ik het volgende:
wat vertaald (volgens mij) in VBA het volgende moet zijn:
zelfde foutmelding
Code:
Function waarde()
Rijnum = Application.Match(100094, Range("C2:C500"), 0)
waarde = Application.Index((Sheets("Data").Range("M2:M500")), Rijnum)
End Function
Echter de volgende code
Code:
Function waarde()
Rijnum = Application.Match(100094, Range("C2:C500"), 0)
waarde = Application.Index((Sheets("Data").Range("M2:M500") [COLOR="#FF0000"]+ Sheets("Data").Range("N2:N500")[/COLOR]), Rijnum)
End Function
geeft een foutmelding : Fout 13; 'Typen komen niet met elkaar overeen'. Ik snap dit niet en weet niet hoe dit op te lossen; in beide kolommen zijn het getallen. Natuurlijk kan ik een waarde1 en waard2 etc. bepalen en optellen, maar met veel kolommen wordt het wat omslachtig en mogelijk traag. Ik heb het vermoeden dat dit veel slimmer en krachtiger kan, zoals in het rekenblad zelf. Ik wil echter naar deze VBA-methode omdat dezelfde formule steeds opnieuw op veel plaatsen moet worden uitgevoerd, en een functie me veel flexibeler maakt.
Iemand een gouden tip?
In de spreadsheet doe ik het volgende:
Code:
SOMPRODUCT((ID=1000094)*(Improductief))
wat vertaald (volgens mij) in VBA het volgende moet zijn:
Code:
waarde = Application.WorksheetFunction.Sumprodct((Range("ID") = "100094") * (Range("Improductief")))
zelfde foutmelding
Laatst bewerkt: