Du må vite hvordan du utfører VBA Sub-prosedyrer i Excel 2016. Dette er viktig fordi en Sub-prosedyre er verdiløs med mindre du vet hvordan den skal utføres. Forresten, å utføre en Sub-prosedyre betyr det samme som å kjøre eller kalle en Sub-prosedyre. Du kan bruke hvilken terminologi du vil.
Du kan kjøre en VBA Sub på mange måter; det er en grunn til at du kan gjøre så mange nyttige ting med Sub-prosedyrer. Her er en uttømmende liste over måter å utføre en underprosedyre på:
-
Med Kjør → Kjør Sub/UserForm-kommandoen (i VBE). Excel utfører Sub-prosedyren der markøren er plassert. Denne menykommandoen har to alternativer: F5-tasten og Kjør Sub/UserForm-knappen på standardverktøylinjen i VBE. Disse metodene fungerer ikke hvis prosedyren krever ett eller flere argumenter.
-
Fra Excels Macro-dialogboks. Du åpner denne boksen ved å velge Utvikler → Kode → Makroer eller ved å velge Vis → Makroer → Makroer. Eller omgå båndet og bare trykk på Alt+F8-snarveistasten. Når Macro-dialogboksen vises, velg underprosedyren du ønsker og klikk Kjør. Denne dialogboksen viser bare prosedyrene som ikke krever et argument.
-
Ved å bruke Ctrl+tasten (eller Ctrl+Shift+tasten) som er tildelt underprosedyren (forutsatt at du har tilordnet en).
-
Klikke på en knapp eller en form på et regneark. Knappen eller formen må ha en underprosedyre tilordnet – noe som er veldig enkelt å gjøre.
-
Fra en annen Sub-prosedyre som du skriver.
-
Fra en knapp du har lagt til på verktøylinjen for hurtigtilgang.
-
Fra et tilpasset element du har lagt til på båndet.
-
Når en hendelse inntreffer. Disse hendelsene inkluderer å åpne arbeidsboken, lukke arbeidsboken, lagre arbeidsboken, gjøre en endring i en celle, aktivere et ark og andre ting.
-
Fra Umiddelbar-vinduet i VBE. Bare skriv inn navnet på Sub-prosedyren og trykk Enter.
Nå må du angi en underprosedyre i en VBA-modul:
Start med en ny arbeidsbok.
Trykk Alt+F11 for å aktivere VBE.
Velg arbeidsboken i prosjektvinduet.
Velg Sett inn → Modul for å sette inn en ny modul.
Skriv inn følgende i modulen:
Sub ShowCubeRoot()
Num = InputBox(“Skriv inn et positivt tall”)
MsgBox Num ^ (1/3) & " er kuberoten."
End Sub
Denne prosedyren ber brukeren om et tall og viser deretter tallets kuberot i en meldingsboks. Dette er hva som skjer når du utfører denne prosedyren.
Bruke den innebygde VBA InputBox-funksjonen for å få et tall.
ShowCubeRoot er forresten ikke et eksempel på en god makro. Den ser ikke etter feil, så den feiler lett.
Viser terningroten til et tall via MsgBox-funksjonen.
For å se hvorfor det ikke er en god makro, prøv å klikke på Avbryt-knappen i inntastingsboksen eller angi et negativt tall. Begge handlingene resulterer i en feilmelding.