De programmeertaal van Microsoft Excel, Visual Basic for Applications (VBA), is een krachtig hulpmiddel die toegankelijk is voor iedereen, met inbegrip van niet-programmeurs. Met macro's en VBA, kunt u verkleinen langdurige taken tot seconden, interactieve gebruikersformulieren maken, of het bouwen van toepassingen voor uw vrienden en collega's.
In VBA wordt een subroutine (ook wel een "OnFilterComboChange" genoemd) gebruikt voor het uitvoeren van een taak binnen een programma. Het is vergelijkbaar met een functie, maar geeft geen waarde als resultaat. Elke subroutine begint met een Sub-instructie en eindigt met een End Sub-instructie.
Open de Visual Basic Editor. In Excel 2003, het menu, selecteer "Weergave" "Werkbalken" 'Visual Basic'. Klik op het pictogram Visual Basic-Editor op de nieuwe werkbalk. In Excel 2007, klikt u op het tabblad Ontwikkelaars in de groep Code, op 'Visual Basic'.
Voeg een nieuwe module. Het menu, klik op 'Insert', "Module." U ziet de nieuwe module vermeld in de Projectverkenner met de naam 'Module1'.
Voeg een nieuwe procedure. Het menu, klik op "Insert," "Procedure."
In het "Toevoegen Procedure" pop-up bericht, typ een naam voor uw nieuwe subroutine. Gebruik onderstrepingstekens, in plaats van spaties, te scheiden van woorden.
Selecteer onder "Type" "Sub."
Onder "Toepassingsgebied", kies 'Openbaar' of 'Privé'. Een openbare subroutine is toegankelijk voor andere procedures; een privé-subroutine werkt alleen binnen dezelfde procedure.
Indien gewenst, Vink het "Alle lokale variabelen als statische". Statische variabelen behouden hun waarden bij het afsluiten van een procedure. Het standaardgedrag worden alle variabelen gewist.
Klik op 'OK'. In het codevenster ziet u de instructies Sub en End Sub.
Voeg code toe. Tussen 'Sub' en 'End Sub', plaatst u de VBA-instructies voor uw subroutine. Bijvoorbeeld, de volgende code gebruiken om een berichtvenster met een begroeting weer te geven:
Sub Test()
MsgBox "Hello World"
End Sub
De subroutine uitgevoerd. Selecteer in het menu "Run". In Excel 2003 wordt de subroutine uitgevoerd. In Excel 2007, selecteer de subroutine in het pop-up bericht, en klik "Run" om te starten van uitvoering.
- U kan "call" (de besturing aan overgedragen) een subroutine vanuit een andere procedure. Dit stopt u de uitvoering van het hoofdprogramma en begint de subroutine. De subroutine blijft draaien totdat er een End Sub of Exit Sub-instructie wordt aangetroffen. Uw belangrijkste programma pikt dan waar deze was gebleven. Bijvoorbeeld roept de volgende code de subroutine "Test1":
- Sub Macro1()
- Test1
- End Sub
- Een Sub-instructie bevatten parameters, opgegeven als ByVal of ByRef. Deze parameters geven of argumenten door waarde of als verwijzing worden doorgegeven wanneer een subroutine wordt aangeroepen.
- Als u problemen ondervindt bij het uitvoeren van uw code, uw beveiligingsinstellingen controleren. Excel beschouwt macro's "mogelijk gevaarlijke code", en in vele versies, is het standaardgedrag te voorkomen dat ze niet worden uitgevoerd.