Hva er VBA? Excel makro språk

Hvis du noen gang har brukt makroer i Excel, har du brukt Visual Basic for Applications (VBA). VBA er lesbar (og redigerbar) programmeringskode som blir generert når du spiller inn en makro. Når du kjører en makro, er det denne koden som Excel leser for å spille av handlingene dine på nytt.

Følgende er en rekke vanlige spørsmål om VBA, med svar for både nykommere til Excel -makroer og erfarne programmerere.

Hva brukes VBA til i Excel?

VBA brukes til å skrive makroer, som automatiserer enkle og komplekse oppgaver i Excel.

Brukere av Microsoft Excel vil ofte finne på å gjenta den samme serien med oppgaver om og om igjen. Noen ganger er dette mindre oppgaver som å kopiere og lime inn undersett med data til forskjellige ark, og noen ganger er oppgavene mer komplekse som å laste opp data til et nettsted. Med VBA kan makroer programmeres til å automatisere oppgaver som disse, noe som gjør en serie manuelle operasjoner til et enkelt klikk.

Hvordan starter jeg med VBA i Excel?

Den enkleste måten å komme i gang med makroer er å registrere dem ved hjelp av makroopptakeren som er innebygd i Excel. Makroopptakeren genererer VBA-kode som du kan lese og redigere, og gir deg et springbrett for å lære å kode dine egne makroer fra bunnen av.

For mer informasjon, se artikkelen “Slik spiller du inn en makro”.

Hvordan får jeg tilgang til VBA -kode?

VBA -redaktøren kan åpnes når som helst ved å trykke på ALT+F11 hurtigtast. Herfra kan du få tilgang til koden for alle åpne arbeidsbøker.

Du kan dobbeltklikke på hvilken som helst arbeidsbok, ark eller modulobjekt i Prosjekt vindu for å vise VBA -koden som finnes i den. Registrerte makroer vil alltid vises i moduler, og det er her du vanligvis også vil skrive dine egne makroer.

For mer informasjon om redigering av makroer, se artikkelen “Redigere Excel VBA -makroer”.

Hva kan VBA gjøre?

Først av alt: hvis det er noe du kan gjøre i Excel, kan du skrive VBA -kode for å gjøre det samme. Hvis du lærer kommandoene (ved hjelp av makroopptaker eller nettressurser), kan du koble flere handlinger sammen i en enkelt makro.

Sekund: du kan bruke VBA til å skrive brukerdefinerte funksjoner for bruk i regnearkformler - omtrent som "= SUM ()" -funksjonen, for eksempel. Selv om Excel allerede har et stort utvalg av funksjoner, kan du legge til det med VBA hvis du vil at du vil ha en funksjon som er mer spesifikk for din bransje eller arbeidsplass.

Tredje: du kan bruke VBA til å legge til logikk (If -setninger) og sløyfer (gjenta handlinger) i makroene dine. Dette betyr at en makro kan være mer enn en registrering av handlinger - det kan være et ekte program med smart repetisjon og beslutningstaking.

Fjerde: VBA lar deg bygge brukergrensesnitt, noe som gir brukerne en enklere måte å samhandle med makroene dine. Disse grensesnittene kan være enkle knapper på et regneark, eller komplekse UserForms med rike kontroller som TreeViews og FlexGrids.

(Se artikkelen "Legg til en knapp og tilordne en makro i Excel" som utgangspunkt.)

Femte, men ikke endelig: VBA lar deg utnytte nesten alle ressurser datamaskinen eller internett ved å bruke eksterne DLL -biblioteker. Du kan automatisere mye mer enn Excel på denne måten, for eksempel tilgang til webtjenester og databaser, analyse av XML -filer, interoperasjon med andre Microsoft Office -applikasjoner og mye, mye mer.

Er VB og VBA det samme?

VBA -språket er identisk med Visual Basic 6.0. Hvis du har erfaring med å skrive VB6 -kode, kan du skrive VBA.

VB Editor i Excel er en nedstrippet versjon av VB6-editoren, med lignende feilsøkingsfunksjoner og komponenter som "Project" og "Properties" -vinduene. Skjemaredaktøren er også veldig lik, selv om den har noen begrensninger (som manglende evne til å lage kontrollarrayer).

Mindre lik VBA er Visual Basic .NET. Selv om disse språkene deler mange av de samme søkeordene og syntakser, er koden mellom disse språkene mindre kompatible. Du trenger ikke skrive om mye (om noe) for å overføre en prosedyre fra VB6 til VBA, men du kunne ikke gjøre det samme fra VB.NET.

Hva er forskjellen mellom en makro og VBA?

VBA er bare språket som makroer er skrevet med. Hvis makroen din er en historie, er VBA grammatikken og ordboken den er skrevet med.

Hva er forskjellen mellom en makro og et skript?

Skript bruker en begrenset delmengde av Visual Basic -språket og brukes til forskjellige formål.

Makroer er lagret i Excel -arbeidsbokfiler og kan bare kjøres fra Excel. De brukes vanligvis til å automatisere forskjellige Excel -funksjoner og legge til ekstra funksjonalitet i arbeidsbøker.

Skript lagres i tekstfiler ved hjelp av .VBS -utvidelsen og kan kjøres fra innsiden av Windows eller kjøres av andre programmer. Sysadmins vil bruke skript for å automatisere visse administrative oppgaver på en datamaskin eller et nettverk.

Hva gjør en VBA -utvikler?

Ofte er mennesker som lager makroer ikke utviklere - de er analytikere, handelsmenn, regnskapsførere eller forskere som har fått opplæring i programmering og bruker VBA mer ad hoc.

Personer som fokuserer på VBA -utvikling har en tendens til å lage mer raffinerte verktøy - de lager tillegg, brukergrensesnitt med skjemaer, interaktive dashbord, rapportgeneratorer og mer.

Hvorfor er VBA viktig?

VBA er inkludert som standard i alle Microsoft Office -applikasjoner, inkludert Excel. Excel er et av de mest populære programmene i verden og finner bruk i en lang rekke felt og arbeidsplasser, alle med sine egne unike arbeidsflyter og brukstilfeller.

Ved å ikke bruke automatisering, blir utallige arbeidstimer bortkastet hver uke på å utføre kjedelige, repeterende oppgaver med en menneskelig hastighet. Automatisering med VBA kan utføre de samme oppgavene i datamaskinens lynraske tempo, slik at brukerne kan fokusere på de viktige aspektene ved arbeidet, bli mer produktive - og kanskje komme seg ut av kontoret litt tidligere!

Er VBA et godt programmeringsspråk?

VBA har de typiske programmeringselementene som variabler, matriser, funksjoner, beslutninger og sløyfer. Den har en syntaks som er lett å lese, og kan utnytte mye strøm fra Windows og andre tjenester.

På den negative siden er feilhåndtering ikke veldig elegant i VBA. Mens andre språk bruker "try-catch-finally" kodeblokker, bruker VBA "On Error" -setninger for å endre hvordan makroer oppfører seg når det oppstår en feil.

I tillegg kan VBA ikke brukes til å lage frittstående programmer, nettsteder eller tjenester, og det kan ikke grensesnittet med nyere programmerings -APIer som .NET -plattformen.

Er VBA objektorientert?

VBA har noen begrenset støtte for noen objektorienterte konsepter:

  • Innkapsling: VBA støtter dataskjul ved hjelp av klasser
  • Polymorfisme: søkeordet Implements lar programmerere bruke andre klasser som grensesnitt

I streng forstand er VBA imidlertid ikke objektorientert. Det mangler spesielt arvebegrepet, noe som sterkt begrenser muligheten til å utvide funksjonaliteten til eksisterende typer.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave