compileerfout

Status
Niet open voor verdere reacties.

ChristianC

Nieuwe gebruiker
Lid geworden
7 feb 2013
Berichten
4
Hoi,

Het uitwisselen van gevevens tussen 2 modules lukt niet
als van module 2 een functie in module 1 is dan werkt het wel?
In de controle staat " kan de module niet compileren"

Kan iemand me helpen,want ik zie de oplossing niet.:(
module1

Public Sub test1()
Dim x As Integer
Dim y As Integer
Dim k As Integer
Dim u As Variant
x = 10
y = 20

k = module2.test2(x, y, u)

Debug.Print u

End Sub

module2
Sub test2(Optional ByRef x As Integer, Optional ByRef y As Integer, Optional ByRef u As Variant)

u = x & y + 10

End Sub
 
Je verteld er niet bij wat de melding van de compiler is maar wijzig u = x & y + 10 eens in u = x + y + 10.
 
de compileerfout: "Er wordt een funtie of variabele verwacht"

in k = module2.test2(x, y, u) wordt .test2 blauw geselecteerd
 
Maak dan van test2 een functie:

Code:
Private Function test2(Optional ByRef x As Integer, Optional ByRef y As Integer)
    test2 = x & y + 10
End Function
En de aanroep:
Code:
k = test2(x, y)

Edit:
De uitkomst staat dan uiteraard in k waardoor u kan komen te vervallen.
 
Laatst bewerkt:
Het is de bedoeling dat verschillende modules variabelen naar één en dezelfde module sturen. Waarna die laatste module een resultaat weer terugstuurt.
Dit bespaart me een hoop werk als er iets veranderdt moet worden in een module. Nu staat dezelfde functie in veel verschillende modules.
 
Je mag ze gewoon allemaal in 1 module zetten.
 
Vroeger stand alles in 1 module en in de loop der tijd was de module zodanig groot geworden dat er functies bijkwamen. Nu na een zoveelste uitbreiding is het echt noodzakelijk dat modules met elkaar spreken en waarden doorgeven aan elkaar en na een bewerking het resultaat terugstuurt. Anders is het totaal onoverzichtlijk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan