Bij het maken van een VBA function in Excel loop ik tegen een praktisch probleem aan.
Graag had ik een functie geschreven die in een recordgebaseerde worksheet afhankelijk van een parameter één bepaalde formule gaat toepassen. Deze formule dient opgehaald te worden in een tweede tabel waar de gebruiker dan vrij formules kan toevoegen en deze een naam geven.
Deze formules dienen als volgend voorbeeld gecodeerd te worden:
A!+B!
Een ! als wildcard indien de VBA functie de rij waarin de functie gebruikt wordt dient in te vullen.
De VBA functie ziet er als volgt uit:
Het probleem is hierbij dat indien er een wijziging in de cellen plaats vind in de gebruikte cellen de VBA functie niet automatisch herberekend.
Dit kan opgelost worden door volgende event sub in de sheet waar de bovenstaande functie gebruikt wordt in te bouwen.
Maar de functie t2f wil niet werken met een tool als Goal seek
Is hier een oplossing voor?
De voorbeeld excel is te downloaden van rapidshare:
http://rapidshare.com/files/196726329/Book3.xls.html
Graag had ik een functie geschreven die in een recordgebaseerde worksheet afhankelijk van een parameter één bepaalde formule gaat toepassen. Deze formule dient opgehaald te worden in een tweede tabel waar de gebruiker dan vrij formules kan toevoegen en deze een naam geven.
Deze formules dienen als volgend voorbeeld gecodeerd te worden:
A!+B!
Een ! als wildcard indien de VBA functie de rij waarin de functie gebruikt wordt dient in te vullen.
De VBA functie ziet er als volgt uit:
code:
1
2
3
4
5
6
| Function t2f(t2fStr As String, rijnum)
t2fStr = replace(t2fStr, "!", rijnum)
t2f = Application.Evaluate(t2fStr)
End Function |
Het probleem is hierbij dat indien er een wijziging in de cellen plaats vind in de gebruikte cellen de VBA functie niet automatisch herberekend.
Dit kan opgelost worden door volgende event sub in de sheet waar de bovenstaande functie gebruikt wordt in te bouwen.
code:
1
2
3
4
5
| Private Sub Worksheet_Change(ByVal Target As range)
Application.CalculateFull
End Sub |
Maar de functie t2f wil niet werken met een tool als Goal seek
Is hier een oplossing voor?
De voorbeeld excel is te downloaden van rapidshare:
http://rapidshare.com/files/196726329/Book3.xls.html
[ Voor 4% gewijzigd door deleenheir op 11-02-2009 12:18 ]
"If it works, don't fix it"