Celwaarden met Functie procedure

Status
Niet open voor verdere reacties.

motas142

Gebruiker
Lid geworden
30 dec 2011
Berichten
8
Hey,

Ik heb op een Excel sheet een heleboel berekeningen gemaakt op basis van 4 inputvariabelen. Na een heleboel berekeningen kom ik 1 waarde uit. Ik zou hier graag een functie van maken die ik kan oproepen, bv. MyFunction(par1;par2;par3;par4) die het resultaat weergeeft. Deze functie moet dus de vier parameters (par1;par2;par3;par4) in de correcte cellen invullen, en vervolgens het resultaat lezen in de resultaatcel. Heeft iemand een idee hoe dit kan? Ik ben helemaal niet vertrouwd met VBA maar dacht da zoiets wel moest kunnen.

Het is misschien wel wat atypisch. Mijn berekeningen gebeuren eigenlijk in Excel en niet in VBA. Het zou gewoon handig zijn om hiervan een functie te creëren zodat ik makkelijk kan experimenteren met verschillende inputwaarden. Iemand een idee?

Concreet: Stel A1=par1; A2=par2; A3=par3; A4=par4 en het resultaat komt in B1. Hoe maakt je dan deze nieuwe functie met VBA?
 
Je gaat naar VBA (alt-f11) en kiest bij "invoegen" voor nieuwe module.

in de nieuwe module definieer je de nieuwe function

Code:
Function MyFunc(par1 As Double, par2 As Double, par3 As Double, par4 As Double) As Double
    MyFunc = par1 + par2 + par3 + par4
End Function

deze code telt de 4 waarden op. vervolgens kun je in de worksheet: MyFunc(a1;a2;a3;a4) gebruiken
 
Dat is dus niet wat ik nodig heb. De bewerking is heel wat moeilijk dan een sommatie. De werkelijke berekening staat in feite enkel in de Excel sheet en moet niet in VBA komen. In feite heb ik (grofweg beschreven) deze functie nodig:

Code:
Function MyFun(par1,par2,par3,par4)
*Vul par1,par2,par3 en par4 in in de juiste cellen*
*MyFunc=Een bepaalde cel in de Excel sheet die afhankelijk is van de ingelezen parameter waarden*
End function

Is het mogelijk om zoiets te creëren?
 
Laatst bewerkt door een moderator:
Als je de berekening zelf niet aangeeft, kunnen wij die uiteraard niet voor je maken. Wampier geeft aan hoe je de functie maakt en gebruikt; de eigenlijke berekening moet je er zelf nog in maken. De aangegeven methode is gewoon correct.
 
Dat is het net: de VBA functie hoeft de berekening helemaal niet te maken. De functie zou enkel de vier parameters moeten invullen in de correctie cellen, en vervolgens het resultaat uit een een bepaalde cel ophalen. Hierdoor zou ik makkelijk combinaties van input variabelen en output kunnen berekenen en weergeven in een grafiek.

De werkelijke berekeningen zijn gewoon veel te complex om in VBA te steken, en het is ook onnodig. Alle berekeningen gebeuren al correct in een Excel sheet.

Maar anders gezegd; 4 cellen gelijkstellen aan een bepaalde waarde en vervolgens het resultaat van een bepaalde cel weergeven gaat dus niet?
 
Dat kun je toch gewoon met <Scenariobeheer> doen? Daarmee leg je combinaties van gegevens vast die je vervolgens laat berekenen. Wat je denkt te doen met een functie is onzinnig, omdat je altijd in die functie moet aangeven welke cellen de brongegevens bevatten. En dan kun je net zo goed in de cellen zelf werken.
Wat je misschien eigenlijk bedoelt (cellen variabel vullen met veldgegevens) kan wel met een macro. Daarbij kun je met 4 Inputboxen (of een UserForm) getallen invoeren die dan vervolgens met het sluiten van het formulier in de juiste cellen worden gezet.
 
Het is niet de bedoeling om dit met een invoerformulier te doen, maar inderdaad eerder een scenario analyse. Het leek mij logisch om ergens in Excel 4 kolommen op te vullen met in de rijen een hele boel verschillende scenario's. De vijfde kolom zou dan, op basis van een functie waar ik hier naar op zoek ben, makkelijk het resultaat kunnen weergeven. Hierdoor zou ik ook grafisch het verband kunnen weergeven tussen het resultaat en één van de parameters. Ik dacht bv. 1 parameter 100 keer te laten verhogen met 0.1, terwijl de andere drie parameters constant bleven. Doordat je deze parameterwaarden kan doortrekken/doorslepen definieer je erg makkelijk 100 scenario's.

Uiteraard kan ik telkens in de cellen werken, maar als ik 100 resultaten wil genereren is dit nogal arbeidsintensief. Dan moest ik telkens telkens manueel elke verhoging intikken, en de resultaatscel ergens naartoe kopiëren. Mogelijk biedt Scenario analyse inderdaad een oplossing. Ik ben hier niet vertrouwd mee maar zal het eens bekijken.



Wat eigenlijk nog beter zou zijn, is een manier om de afhankelijkheden van een cel makkelijker grafisch weer te geven, bv:
cel A1: 1
cel A2: A1^2

Het is jammer dat het niet mogelijk is (denk ik) om een grafiek van A2 te tekenen door in te geven dat A1 van -10 tot +10 moet gaan. Je moet telkens alle datapunten expliciet in cellen steken. Om dit te bekomen, dacht ik in mijn concreet geval de hierboven beschreven functie te maken in VBA.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan