Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [vba excel] (https://forum.scholieren.com/showthread.php?t=483599)

Noisecrew 20-05-2003 18:45

[vba excel]
 
Ik heb een VBA algoritme in excel dat me vraagt wat ik in een rugzak wil steken en het gewicht daarvan. Vervolgens berekend hij het oude gewicht (12.75 -> is gegeven in opgave) opgeteld met het nieuwe gewicht dat max. 15 mag zijn.
Indien het kleinder is als 15 moet excel het voorwerp in de rugzak duwen.

Geen zorgen, ik heb het al af en doorgestuurd :D
in 1 sub, dat wel maar we moeten het zoveel mogelijk in sequenties houden.
bijv.

sub rugzak()
opvragen
berekenen
toevoegen
end sub

sub opvragen
blabla
end sub

sub berekenen
blabalaberekenbla
end sub


het probleem is dat ik niet weet hoe een variabele van een sub naar de andere moet overzetten.
Dus wat ik in sub opvragen() als naam heb toegekend, kent hij in sub berekenen() niet meer. :o

dafelix 20-05-2003 19:04

er moeten twee mogelijkheden zijn, ofwel het algemeen declaren (Declare Blaat As Type) of via elke sub de andere sub aanroepen met een parameter:

sub rugzak()
opvragen
berekenen
toevoegen
opvragen (Gegevens1, gegevens2)
end sub

sub opvragen (Parameter As Type)
gebruik Parameter
end sub


enigste dat ik niet weet hoe dat moet in VBA excel

Noisecrew 20-05-2003 19:08

Citaat:

dafelix schreef op 20-05-2003 @ 20:04:
er moeten twee mogelijkheden zijn, ofwel het algemeen declaren (Declare Blaat As Type) of via elke sub de andere sub aanroepen met een parameter:

sub rugzak()
opvragen
berekenen
toevoegen
opvragen (Gegevens1, gegevens2)
end sub

sub opvragen (Parameter As Type)
gebruik Parameter
end sub


je zegt 'opvragen (Gegevens1, gegevens2)' -> Wat betekend dit? Dat hij de sub uitvoert met deze waarden als parameters?

'sub opvragen (Parameter As Type)' -> Hier declare je de param. die je in sub rugzak() doorgegeven hebt?

dafelix 21-05-2003 08:22

ya presies, precies zoals je het zegt. zo werkt het in VB iig wel, moet je maar even mee stoeien

Warsocket 23-05-2003 20:54

als je de variable die je in meerder subs nodig heb declareert in general declarations (bovenaan de code) dan werkt ie in alle subs

vb:

dim c as byte

sub lalal
c = 10
reet
end sub


sub reet
c = c + 5
end sub

je zal zien dat na sub reet de waarde van c 15 zal zijn ipv 5 (dat krijg je dus als je je variabele in een sub declareert)


Alle tijden zijn GMT +1. Het is nu 21:05.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.