Å være VBA-programmerer kan til tider være overveldende. En måte å se på VBA er at det er et verktøy som lar deg etterligne Excel-kommandoer. Tenk for eksempel på denne VBA-setningen:
Range("A1:A12").Navn = "Månedsnavn"
Utførelse av denne VBA-setningen har samme effekt som å velge Formler → Definerte navn → Definer navn for å vise dialogboksen Nytt navn, skrive Månedsnavn i Navn-boksen og A1:A12 i Referer til-boksen og klikke OK.
Når du kjører VBA-setningen, vises ikke dialogboksen Nytt navn. Dette er nesten alltid det du ønsker skal skje; du vil ikke at dialogbokser blinker over skjermen mens makroen kjøres.
I noen tilfeller vil du imidlertid kanskje at koden din skal vise en av Excels mange innebygde dialogbokser og la brukeren gjøre valgene i dialogboksen. Du kan gjøre dette ved å bruke VBA til å utføre en Ribbon-kommando. Her er et eksempel som viser dialogboksen Nytt navn. Adressen i Referer til-boksen representerer området som er valgt når kommandoen utføres.
Vise en av Excels dialogbokser ved å bruke VBA.
Application.CommandBars.ExecuteMso “NameDefine”
VBA-koden din kan ikke hente informasjon fra dialogboksen. Hvis du for eksempel kjører koden for å vise dialogboksen Nytt navn, kan ikke koden din få navnet angitt av brukeren eller området som blir navngitt.
ExecuteMso er en metode for CommandBars-objektet og godtar ett argument: en idMso-parameter som representerer en Ribbon-kontroll. Dessverre er disse parameterne ikke oppført i hjelpesystemet. Og fordi båndet ikke har eksistert for alltid, er ikke kode som bruker ExecuteMso-metoden kompatibel med versjoner før Excel 2007.
Her er et annet eksempel på bruk av ExecuteMso-metoden. Denne setningen, når den utføres, viser Font-fanen i dialogboksen Formater celler:
Application.CommandBars.ExecuteMso
"FormatCellsFontDialog"
Hvis du prøver å vise en innebygd dialogboks i en feil kontekst, viser Excel en feilmelding. For eksempel, her er en setning som viser dialogboksen Format nummer:
Application.CommandBars.ExecuteMso "NumberFormatsDialog"
Hvis du utfører denne setningen når den ikke er passende (for eksempel en figur er valgt), viser Excel en feilmelding fordi den dialogboksen bare passer for regnearkceller.
Excel har tusenvis av kommandoer. Hvordan kan du finne navnet på den du trenger? En måte er å bruke Tilpass bånd-fanen i dialogboksen for Excel-alternativer. Den raske måten å komme dit på er å høyreklikke en hvilken som helst båndkontroll og velge Tilpass båndet fra hurtigmenyen.
Praktisk talt hver kommando som er tilgjengelig i Excel er oppført i venstre panel. Finn kommandoen du trenger og hold musen over den, og du ser dens hemmelige kommandonavn i verktøytipset (det er delen i parentes).
Bruke Tilpass bånd-fanen for å identifisere et kommandonavn.