Dim, Static, Public, Global, Function

Status
Niet open voor verdere reacties.

masala09

Gebruiker
Lid geworden
6 aug 2012
Berichten
886
Ondanks dat ik nu toch al enige tijd bezig ben met VBA, merk ik toch dat ik mij nog wel eens vergis in het declareren van variabelen.

Kan iemand mij dit in het kort duidelijk uitleggen of mij verwijzen naar een pagina waarin dit duidelijk is uitgelegd.

Ik ben veel aan het zoeken geweest op het internet en vind woorden als Dim, Static, Public, Global etc. Hoewel ik hier wel van gehoord heb en er 2 heb gebruik, begrijp ik dat dit niet allemaal dimensies zijn, maar kennelijk ook sleutelwoorden? om een variabele te declareren. Wanneer gebruikt je welke en volgens mij zijn sommige ook oude benamingen. Wellicht dat ik ook daarmee in de war ben.

Ik kom er aardig mee uit de voeten, maar het is wel zo handig als ik ook weet wat en wanneer ik iets moet gebruiken en wat het precies inhoud. Dit om bijvoorbeeld een code de rest van het hele project te kunnen blijven aanroepen. Ik meende namelijk dat dit ook kan met Static in plaats van Public.

Daarnaast is Function er ook 1 van, maar hierin declareer je volgens mij niets.

Hoop dat iemand mij hier wat duidelijkheid in wilt of kan geven.

Alvast hartelijk bedankt voor de moeite of het geven van een duidelijke site.
 
Een Function is net zoiets als een Sub maar wordt anders gebruikt. Ook daarin kun je dus variabelen declareren. Wat betreft je vraag over de variabelen heb je het over het bereik (Scope) van variabelen. Daar valt veel over uit te leggen. De basis kun je hier nalezen:
https://wiki.openoffice.org/wiki/NL/Documentation/BASIC_Guide/Scope_of_Variables

Een Static is even wat anders dan de variabelen die niet als Static zijn gedeclareerd. Deze geef je eenmalig een waarde en die kan op runtime niveau niet meer wijzigen.
 
Laatst bewerkt:
Nu las ik dat Static feitelijk hetzelfde is als Public. Echter Public kan dan over heel het project worden gebruikt en Static enkel in een module. Echter als ik de Dim helemaal afzonderlijk plaats in de kop van een module (bijvoorbeeld een userform) dan werkt deze ook over heel de module.

Hierom stel ik dus mijn vraag.

Dat er genoeg over te schrijven valt daar was ik al behoorlijk achter gekomen.

Wat is precies de scope. Dat was toch het gedeelte waarmee je standaard iedere sub begint?
 
Snb ik heb hier een boek, alleen ik kom daar niet helemaal uit. Engels heb ik op zicht geen moeite mee, maar ik heb het niet zo met die boerentaal. Geef mij bijvoorbeeld maar Frans of Duits. Vind ik een veel mooiere taal dan Nederlands en Engels.
 
Lees de pagina waar ik verwees. Je stelt nu vragen die daar worden uitgelegd.
Daarnaast gaat er inderdaad niets boven een goed boek :)
 
Laatst bewerkt:
Sorry Edmoor. Zo was het niet helemaal bedoelt. Ik ga het ook zeker op mijn gemak nalezen en kijken of ik het dan wat beter begrijp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan