Waardes benoemen en in andere macro gebruiken

Status
Niet open voor verdere reacties.

loggy

Gebruiker
Lid geworden
11 aug 2011
Berichten
12
Beste mensen,

Ik heb een macro die vele bewerkingen uitvoert en ik heb een macro die een tabblad kan mailen volgens een bepaald format. Omdat ik meerdere tabbladen heb die bewerkt moeten worden en het geheel te ingewikkeld wordt om dit samen te voegen in een for each functie, heb ik de simple oplossing dat aan het einde van de bewerkingsmacro ik de regel run "e-mail_versturen" heb staan en hoppla zie the magic happen. Enkel die mail moet naar verschillende mensen worden verstuurd, welke benoemd worden in de eerste macro. Die gedinieerde namen wil ik dus ook in de andere macro kunnen gebruiken. Om het niet te ingewikkeld te maken, komt het eigenlijk neer dat ik de volgende 2 macro´s werkend met elkaar wil krijgen. Iemand enig idee of dit uberhaupt mogelijk is. ps: ze staan in dezelfde module.

Alvast bedankt

Code:

Code:
Sub test_benoemen()
waarde = "Dit is de eerste waarde"
Run "show_macro"
waarde = "Dit is de tweede waarde"
Run "show_macro"
End Sub

Sub show_macro()
MsgBox (waarde)
End Sub
 
Waar je naar op zoek bent is het bereik van variabelen. Maak er ook een gewoonte van om variabelen te declareren, in je voorbeeld doe je dat namelijk niet en dat is een slechte gewoonte bij het programmeren.
Voor een uitleg over het bereik (scope) van variabelen kun je hier kijken:
http://support.microsoft.com/kb/141693/nl
 
soms zit de oplossing in kleine dingen. In mijn eigen bestand had ik wel netjes gedeclareerd, maar binnen de macro en ja tuurlijk, om in meerdere macro's geldig te zijn, moet die buiten de macro staan. Bedankt edmoor.

Voor de overige lezers, bovenstaand voorbeeld wordt dan als volgt:

Code:
dim StrWaarde as string

Sub test_benoemen()
StrWaarde = "Dit is de eerste waarde"
Run "show_macro"
StrWaarde = "Dit is de tweede waarde"
Run "show_macro"
End Sub

Sub show_macro()
MsgBox (StrWaarde)
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan