Du skal vide, hvordan du udfører VBA Sub-procedurer i Excel 2016. Dette er vigtigt, fordi en Sub-procedure er værdiløs, medmindre du ved, hvordan den skal udføres. Forresten, at udføre en Sub-procedure betyder det samme som at køre eller kalde en Sub-procedure. Du kan bruge den terminologi du vil.
Du kan udføre en VBA Sub på mange måder; det er en af grundene til, at du kan gøre så mange nyttige ting med underprocedurer. Her er en udtømmende liste over måder at udføre en underprocedure på:
-
Med kommandoen Kør → Kør Sub/UserForm (i VBE). Excel udfører den underprocedure, hvor markøren er placeret. Denne menukommando har to alternativer: F5-tasten og Kør Sub/UserForm-knappen på standardværktøjslinjen i VBE. Disse metoder virker ikke, hvis proceduren kræver et eller flere argumenter.
-
Fra Excels makro-dialogboks. Du åbner denne boks ved at vælge Udvikler → Kode → Makroer eller ved at vælge Vis → Makroer → Makroer. Eller omgå båndet og tryk bare på Alt+F8 genvejstasten. Når makrodialogboksen vises, skal du vælge den ønskede underprocedure og klikke på Kør. Denne dialogboks viser kun de procedurer, der ikke kræver et argument.
-
Brug af Ctrl+tasten (eller Ctrl+Shift+tasten), der er tildelt underproceduren (forudsat at du har tildelt en).
-
Klik på en knap eller en figur på et regneark. Knappen eller formen skal have en underprocedure tildelt sig - hvilket er meget nemt at gøre.
-
Fra en anden underprocedure, som du skriver.
-
Fra en knap, som du har tilføjet til værktøjslinjen Hurtig adgang.
-
Fra et brugerdefineret element, du har føjet til båndet.
-
Når en begivenhed indtræffer. Disse hændelser omfatter åbning af projektmappen, lukning af projektmappen, lagring af projektmappen, ændring af en celle, aktivering af et ark og andre ting.
-
Fra vinduet Øjeblikkelig i VBE. Indtast blot navnet på underproceduren og tryk på Enter.
Nu skal du indtaste en underprocedure i et VBA-modul:
Start med en ny projektmappe.
Tryk på Alt+F11 for at aktivere VBE.
Vælg projektmappen i projektvinduet.
Vælg Indsæt → Modul for at indsætte et nyt modul.
Indtast følgende i modulet:
Sub ShowCubeRoot()
Num = InputBox(“Indtast et positivt tal”)
MsgBox Num ^ (1/3) & "er terningroden."
Slut Sub
Denne procedure beder brugeren om et tal og viser derefter dette nummers terningerod i en meddelelsesboks. Dette er, hvad der sker, når du udfører denne procedure.
Brug af den indbyggede VBA InputBox-funktion til at få et nummer.
ShowCubeRoot er i øvrigt ikke et eksempel på en god makro. Den tjekker ikke for fejl, så den fejler let.
Visning af terningroden af et tal via MsgBox-funktionen.
For at se, hvorfor det ikke er en god makro, prøv at klikke på knappen Annuller i indtastningsfeltet eller indtaste et negativt tal. Begge handlinger resulterer i en fejlmeddelelse.