procedures samen laten werken

Status
Niet open voor verdere reacties.

Willem581

Gebruiker
Lid geworden
4 feb 2015
Berichten
12
Hallo,

Ik wil met een sub andere sub's en functies laten opstarten. Ik heb de voorbeelden uit een VBA handleiding genomen (standaard boekje).
Probleem is als ik de subs en de functies individueel opstart dan werken deze gewoon. Alleen werkt de sub WaardenInvoegen waarschijnelijk ;)niet correct.
Als ik de sub Recapitulatie opstart dan worden de velden b5 t/m b7 niet of niet correct gevuld (Zie bijlage). In de excel bijlage zitten ook de subs en de functies.
In kolom G en H zie je de waarden welke ik invoer en de uitkomst provisie en belasting.

Groeten,
Willem
 

Bijlagen

Beste Willem,

Ik heb een en ander aangepast en volgens mij was dit je bedoeling.
Heb alles in module 1 gezet zodat alle gegevens in de zelfde module blijft.
Verder had je Provisie en Belast gedefinieerd en dat moet niet omdat het om een functie gaat


Groet,
MantsjeKlaas


Bekijk bijlage Test Wim 001.xlsm
 
MantsjeKlaas,

Allereerst zeer bedankt voor je reactie ! Het werkt nu prima.

Ik heb nog een paar vragen. Zou je deze willen beantwoorden:
1. Je hebt e.e.a. bijelkaar gezet in een module. Is dit persé noodzakelijk om het te laten werken, of kan er ook verwijzing plaatsvinden en zo ja hoe moet dat dan ?
2. Je opmerking is dat Provisie en Belast gedefinieerd zijn en dat moet niet omdat het om een functie gaat. Wat bedoel je hiermee ?

Groeten,
Willem
 
Beste Willem,

Antwoord op vraag 1:
Omdat ik alle gegevens met Dim heb gedefinieerd kun je deze alleen gebruiken in die zelfde module.
Wanneer je het wil zoals je het had, moet je geen Dim maar Public gebruiken. Dit heb ik nu gedaan in Module 1 zie bijlage.
Je moet dus wel even oppassen met de volgorde waar in je de opdrachten geeft. Anders worden de gegevens niet op het juiste moment gedefinieerd.

Antwoord op vraag 2:
Wanneer je een Function aanmaakt zoals jij dat hebt gedaan wordt deze in VBA automatisch gedefinieerd. Wanneer jij in een module de functie nog eens definieert krijg je een fout melding.
Wanneer je de uitkomst van een functie wil definiëren, moet je dat aan gegeven bij de Function bijvoorbeeld: Function Provisie(AantalAandelen1, Verkoopprijs1) as Integer.
Nu is de uitkomst van de functie een Integer.

Ik hoop dat ik het duidelijk genoeg heb omschreven en anders lees ik het wel.

In de bijlage vind je nu de aangepaste versie met in elke module weer 1 Subroutine
Bekijk bijlage Test Wim 001.xlsm

Groet
MantsjeKlaas
 
Dag MantsjeKlaas,

Bedankt voor je antwoorden ! Je hebt een beginneling :) weer een paar stappen verder gebracht.

Groeten en nogmaals bedankt.
Wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan