Vad är VBA? Makrospråk i Excel

Om du någonsin har använt makron i Excel har du använt Visual Basic for Applications (VBA). VBA är en läsbar (och redigerbar) programmeringskod som genereras när du spelar in ett makro. När du kör ett makro är det den här koden som Excel läser för att spela upp dina handlingar igen.

Följande är en serie vanliga frågor om VBA, med svar för både nykomlingar till Excel -makron och erfarna programmerare.

Vad används VBA för i Excel?

VBA används för att skriva makron, som automatiserar enkla och komplexa uppgifter i Excel.

Användare av Microsoft Excel kommer ofta att upprepa samma serie uppgifter om och om igen. Ibland är det mindre uppgifter som kopiera-klistra in delmängder av data till olika blad, och ibland är uppgifterna mer komplexa som att ladda upp data till en webbplats. Med VBA kan makron programmeras för att automatisera uppgifter som dessa, vilket gör en serie manuella operationer till ett enda knappklick.

Hur börjar jag med VBA i Excel?

Det enklaste sättet att komma igång med makron är att spela in dem med makroinspelaren inbyggd i Excel. Makroinspelaren genererar VBA-kod som du kan läsa och redigera, vilket ger dig en steg för att lära dig hur du kodar dina egna makron från grunden.

Mer information finns i artikeln "Hur man spelar in ett makro".

Hur kan jag komma åt VBA -kod?

VBA -redigeraren kan öppnas när som helst genom att trycka på ALT+F11 tangentbordsgenväg. Härifrån kan du komma åt koden för alla öppna arbetsböcker.

Du kan dubbelklicka på valfri arbetsbok, blad eller modulobjekt i Projekt fönster för att visa VBA -koden som finns i den. Inspelade makron kommer alltid att visas i moduler, det är där du vanligtvis också vill skriva dina egna makron.

Mer information om redigering av makron finns i artikeln “Redigera Excel VBA -makron”.

Vad kan VBA göra?

För det första: om det är något du kan göra i Excel kan du skriva VBA -kod för att göra samma sak. Om du lär dig kommandona (med hjälp av makroinspelaren eller online -resurser) kan du stränga ihop flera åtgärder tillsammans i ett enda makro.

Andra: du kan använda VBA för att skriva användardefinierade funktioner för användning i kalkylbladformler - ungefär som funktionen "= SUM ()", till exempel. Även om Excel redan har en mängd olika funktioner, kan du lägga till den med VBA om du vill att du vill ha en funktion som är mer specifik för din bransch eller arbetsplats.

Tredje: du kan använda VBA för att lägga till logik (If -satser) och loopar (upprepade åtgärder) till dina makron. Detta innebär att ett makro kan vara mer än en registrering av åtgärder - det kan vara ett riktigt program med smart upprepning och beslutsfattande.

Fjärde: VBA låter dig bygga användargränssnitt, vilket ger användarna ett enklare sätt att interagera med dina makron. Dessa gränssnitt kan vara enkla knappar på ett kalkylblad eller komplexa UserForms med rika kontroller som TreeViews och FlexGrids.

(Se artikeln "Lägg till en knapp och tilldela ett makro i Excel" som utgångspunkt.)

Femte men inte slutligen: VBA låter dig utnyttja nästan alla resurser din dator eller internet med hjälp av externa DLL -bibliotek. Du kan automatisera mycket mer än Excel på det här sättet, som att komma åt webbtjänster och databaser, analysera XML -filer, samarbeta med andra Microsoft Office -program och mycket, mycket mer.

Är VB och VBA desamma?

VBA -språket är identiskt med Visual Basic 6.0. Om du har erfarenhet av att skriva VB6 -kod kan du skriva VBA.

VB Editor i Excel är en avskalad version av VB6-redigeraren, med liknande felsökningsfunktioner och komponenter som fönstren "Projekt" och "Egenskaper". Formulärredigeraren är också väldigt lik, även om den har vissa begränsningar (till exempel oförmågan att skapa kontrollarrayer).

Mindre liknar VBA är Visual Basic .NET. Även om dessa språk delar många av samma sökord och syntaxer, är koden mellan dessa språk mindre driftskompatibel. Du skulle inte behöva skriva om mycket (om något) för att överföra ett förfarande från VB6 till VBA, men du kunde inte göra detsamma från VB.NET.

Vad är skillnaden mellan ett makro och VBA?

VBA är bara det språk som makron skrivs med. Om ditt makro är en historia är VBA grammatiken och ordlistan den är skriven med.

Vad är skillnaden mellan ett makro och ett skript?

Skript använder en begränsad delmängd av Visual Basic -språket och används för olika ändamål.

Makron lagras i Excel -arbetsbokfiler och kan bara köras inifrån Excel. De används vanligtvis för att automatisera olika Excel -funktioner och lägga till extra funktioner i arbetsböcker.

Skript lagras i textfiler med tillägget .VBS och kan köras inifrån Windows eller köras av andra program. Sysadmins kommer att använda skript för att automatisera vissa administrativa uppgifter på en dator eller nätverk.

Vad gör en VBA -utvecklare?

Ofta är människor som skapar makron inte utvecklare - de är analytiker, handlare, revisorer eller forskare som har utbildat sig i programmering och använder VBA mer ad hoc.

Personer som fokuserar på VBA -utveckling tenderar att skapa mer förfinade verktyg - de skapar tillägg, användargränssnitt med formulär, interaktiva instrumentpaneler, rapportgeneratorer och mer.

Varför är VBA viktigt?

VBA ingår som standard i alla Microsoft Office -applikationer, inklusive Excel. Excel är ett av de mest populära programmen i världen och kan användas inom en mängd olika områden och arbetsplatser, alla med sina egna unika arbetsflöden och användningsfall.

Genom att inte använda automatisering slösas otaliga arbetstimmar varje vecka med att utföra tråkiga, repetitiva uppgifter med en mänsklig hastighet. Automation med VBA kan utföra samma uppgifter i datorns blixtsnabba takt, låta användarna fokusera på de viktiga aspekterna av deras arbete, bli mer produktiva - och kanske komma ut från kontoret lite tidigare!

Är VBA ett bra programmeringsspråk?

VBA har de typiska programmeringselementen som variabler, matriser, funktioner, beslut och slingor. Den har en syntax som är lättläst och kan utnyttja mycket kraft från Windows och andra tjänster.

På nackdelen är felhantering inte särskilt elegant i VBA. Medan andra språk använder "try-catch-finally" -block, använder VBA "On Error" -uttyg för att ändra hur makron beter sig när ett fel uppstår.

Dessutom kan VBA inte användas för att skapa fristående program, webbplatser eller tjänster, och det kan inte gränssnitt med nyare programmerings -API: er som .NET -plattformen.

Är VBA objektorienterat?

VBA har ett begränsat stöd för några objektorienterade koncept:

  • Inkapsling: VBA stöder datahölje med klasser
  • Polymorfism: sökordet Implements tillåter programmerare att använda andra klasser som gränssnitt

I strikt mening är VBA dock inte objektorienterat. Det saknar särskilt begreppet arv, vilket starkt begränsar möjligheten att utöka funktionaliteten hos befintliga typer.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave