• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Variabele in andere module (VBA)

Status
Niet open voor verdere reacties.

peetvader

Gebruiker
Lid geworden
3 apr 2005
Berichten
8
Ik wil een variabele die ik gedefineerd heb in module1 overhalen of kenbaar hebben in module2.

In module1 heb ik bijvoorbeeld staan.

Public Dim aantal As Integer
....
....
aantal = Sheets("Blad1").Range("a2").Value
....
.....


In module2 wil ik de waarde van "aanta"l gebruiken voor een FOR statement, zonder hem opnieuw op te halen.

Hoe doe ik dat?
 
Dat heb je al goed gedaan door "public" te gebruiken;
dan kan je hem in de hele module gebruiken. Zie ook VBA help
 
Maar nu wil ik hem ook in module2 gebruiken alleen dan is de waarde 0 ipv 3.
Ik doe dan denk ik toch iets fout.

Ik heb hem alleen gedefinieerd in module1 bovenaan buiten een Sub of Functie.
 
Kan niets vinden in de help.
Vraagje:
waarom wil je een tweede module gebruiken?
 
Dit is het niet. Ik gebruik meerdere modules om het overzichtelijk te houden.
 
Module1:

Public aantal As Integer

Public Sub PassVariable()
aantal = Sheets("Blad1").Range("A2").Value
GetVariable (aantal)
End Sub



Module2:

Public Sub GetVariable(a As Integer)
Dim c As Integer
For c = 1 To a Step 1
'To do...
Next c
End Sub



In dit geval hoef je aantal dus niet global te zetten, maar kan-ie gewoon in de eerste module worden gedeclareerd.
 
Laatst bewerkt:
Ik heb geprobeerd om bovenstaande toe te passen binnen mijn eigen administratie, maar het lukt me niet om een variabele die ik heb gedecladeerd in module 1 op te roepen in een userform. Ik heb mijn situatie hieronder simplistisch weergegeven.

Code:
Private Sub cmdVoorbeeld_click()
    Dim Naam1 as string
    Dim Naam2 as string
    Dim [COLOR="DarkRed"]Naam3[/COLOR] as string

    Naam1 = bepaaldevariabele
    Naam2 = date()
    Naam3 = Naam1 & Naam2

    frmVoorbeeld.show
End Sub

In de frmVoorbeeld:

Code:
Private Sub cmdVoorbeeld2_click()
     Worksheets([COLOR="DarkRed"]Naam3[/COLOR]).range("a1").value =  "maaktnietuitwat"
End Sub

Zoals iemand eerder al aangaf is de waarde van Naam3 verloren gegaan. Kan iemand misschien bovenstaand code herschrijven zodat de waarde van de variabele wederom gebruikt kan worden?

Begin eens een nieuwe topic aub.
 
Begin eens een nieuwe topic aub.
Daarom vraag verwijderd. Joost het is niet gewenst om in een andermans topic jouw probleem aan de kaak te stellen. Wees zo vriendelijk om een eigen topic te openen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan