VBA in Excel: wat is Visual Basic voor toepassingen, hoe te gebruiken

Inhoudsopgave:

Anonim
Everybody in this country should learn how to program a computer… because it teaches you how to think." -Steve Jobs

Ik wil de wijze woorden van Steve Jobs uitbreiden en zeggen dat iedereen in de wereld moet leren hoe hij een computer moet programmeren. Je hoeft niet per se als programmeur te werken of programma's te schrijven, maar het zal je leren hoe je moet denken.

In deze VBA-zelfstudie gaan we de volgende onderwerpen behandelen.

  • Wat is Visual Basic for Applications (VBA)?
  • Waarom VBA?
  • Persoonlijke en zakelijke toepassingen van VBA in Excel
  • Inleiding tot Visual Basic for Applications
  • Stap voor stap voorbeeld van het maken van een eenvoudige EMI-calculator in Excel
  • VBA Excel-voorbeeld

Wat is Visual Basic for Applications (VBA)?

Visual Basic for Applications (VBA) is een gebeurtenisgestuurde programmeertaal die door Microsoft is geïmplementeerd om Office-toepassingen te ontwikkelen. VBA helpt bij het ontwikkelen van automatiseringsprocessen, Windows API en door de gebruiker gedefinieerde functies. Het stelt u ook in staat om de functies van de gebruikersinterface van de hosttoepassingen te manipuleren.

Laten we, voordat we verder ingaan op de details, eens kijken naar wat computerprogrammering is in de taal van een leek. Stel dat je een dienstmeisje hebt. Als je wilt dat de meid het huis schoonmaakt en de was doet. Je vertelt haar wat ze moet doen in bijvoorbeeld Engels en zij doet het werk voor je. Als u met een computer werkt, wilt u bepaalde taken uitvoeren. Net zoals je de meid hebt verteld om de huishoudelijke klusjes te doen, kun je de computer ook vertellen om de taken voor je te doen.

Het proces waarbij u de computer vertelt wat u wilt dat deze voor u doet, staat bekend als computerprogrammering. Net zoals u Engels gebruikte om de meid te vertellen wat hij moest doen, kunt u ook Engelse uitspraken gebruiken om de computer te vertellen wat hij moet doen. De Engels-achtige uitspraken vallen in de categorie talen op hoog niveau. VBA is een taal op hoog niveau die u kunt gebruiken om uitblinken naar uw almachtige wil.

VBA is eigenlijk een subset van Visual Basic 6.0 BASIC staat voor B eginners A ll-Purpose S ymbolic I nstruction C ode.

Waarom VBA?

Met VBA kunt u Engelse uitspraken gebruiken om instructies te schrijven voor het maken van verschillende applicaties. VBA is gemakkelijk te leren en het heeft een gebruiksvriendelijke gebruikersinterface waarin u alleen de interface-bedieningselementen hoeft te slepen en neerzetten. Het stelt u ook in staat om de Excel-functionaliteit te verbeteren door het zich te laten gedragen zoals u dat wilt.

Persoonlijke en zakelijke toepassingen van VBA in Excel

Voor persoonlijk gebruik kunt u het gebruiken voor eenvoudige macro's waarmee u de meeste van uw routinetaken kunt automatiseren. Lees het artikel over macro's voor meer informatie over hoe u dit kunt bereiken.

Voor zakelijk gebruik kunt u complete, krachtige programma's maken die worden aangedreven door Excel en VBA. Het voordeel van deze aanpak is dat u de krachtige functies van Excel kunt gebruiken in uw eigen aangepaste programma's.

Inleiding tot Visual Basic for Applications

Voordat we code kunnen schrijven, moeten we eerst de basis kennen. De volgende basisprincipes helpen u op weg.

  • Variabele - op de middelbare school leerden we over algebra. Zoek (x + 2y) waarbij x = 1 en y = 3. In deze uitdrukking zijn x en y variabelen. Ze kunnen elk nummer worden toegewezen, dwz 1 en 3, zoals in dit voorbeeld. Ze kunnen ook worden gewijzigd in respectievelijk 4 en 2. Variabelen in het kort zijn geheugenlocaties. Terwijl u met VBA Excel werkt, moet u ook variabelen declareren, net als in algebraklassen
  • Regels voor het maken van variabelen
    • Gebruik geen gereserveerde woorden - als je als student werkt, kun je de titel docent of directeur niet gebruiken. Deze titels zijn voorbehouden aan de docenten en het schoolbestuur. Gereserveerde woorden zijn die woorden die een speciale betekenis hebben in Excel VBA en als zodanig kunt u ze niet als variabelenamen gebruiken.
    • Variabelenamen mogen geen spaties bevatten - u kunt geen variabele met de naam eerste getal definiëren. U kunt firstNumber of first_number gebruiken.
    • Gebruik beschrijvende namen - het is erg verleidelijk om een ​​variabele naar jezelf te noemen, maar vermijd dit. Gebruik beschrijvende namen, dwz hoeveelheid, prijs, subtotaal enz. Dit maakt uw Excel VBA-code gemakkelijk te lezen
  • Rekenkundige operatoren - De regels van Brackets of Division Multiplication Addition and Subtraction (BODMAS) zijn van toepassing, dus vergeet niet om ze toe te passen bij het werken met uitdrukkingen die meerdere verschillende rekenkundige operatoren gebruiken. Net als in Excel kunt u
    • + voor toevoeging
    • - voor aftrekken
    • * voor vermenigvuldiging
    • / voor divisie.
  • Logische operators - Het concept van logische operators dat in de eerdere tutorials aan de orde is, is ook van toepassing bij het werken met VBA. Waaronder
    • Als statements
    • OF
    • NIET
    • EN
    • WAAR
    • ONWAAR

Hoe het ontwikkelaarstabblad in te schakelen

Hieronder vindt u het stapsgewijze proces voor het inschakelen van het ontwikkelaarstabblad in Excel:

  • Maak een nieuwe werkmap
  • Klik op de startknop van het lint
  • selecteer opties
  • Klik op aanpassen lint
  • Schakel het selectievakje voor ontwikkelaars in, zoals weergegeven in de onderstaande afbeelding
  • Klik OK

U kunt nu het tabblad ONTWIKKELAAR in het lint zien

VBA Hallo wereld!

Nu zullen we demonstreren hoe te programmeren in VBA-programmeertaal. Alle programma's in VBA moeten beginnen met "Sub" en eindigen met "End sub". Hier is de naam de naam die u aan uw programma wilt toewijzen. Terwijl sub staat voor een subroutine die we in het latere deel van de tutorial zullen leren.

Sub name()… End Sub

We zullen een eenvoudig VBA-programma maken dat een invoervak ​​weergeeft om de naam van de gebruiker te vragen en vervolgens een begroetingsbericht weer te geven

In deze tutorial wordt ervan uitgegaan dat je de tutorial over macro's in Excel hebt voltooid en het tabblad ONTWIKKELAAR in Excel hebt ingeschakeld.

  • Maak een nieuw werkboek
  • Sla het op in een Excel-macro-werkbladformaat * .xlsm
  • Klik op het tabblad ONTWIKKELAAR
  • Klik op INVOEGEN vervolgkeuzelijst onder de lintbalk van de besturingselementen
  • Selecteer een opdrachtknop zoals weergegeven in de onderstaande afbeelding

Teken de commandoknop ergens op het werkblad

U krijgt het volgende dialoogvenster

  • Wijzig de naam van de macro in btnHelloWorld_Click
  • Klik op de nieuwe knop
  • U krijgt het volgende VBA-codevenster

Voer de volgende instructiecodes in

Dim name As Stringname = InputBox("Enter your name")MsgBox "Hello " + name

HIER,

  • "Dim name as String" maakt een variabele aan met de naam naam. De variabele accepteert tekst, numerieke en andere tekens omdat we deze als een string hebben gedefinieerd
  • "name = InputBox (" Voer uw naam in ")" roept de ingebouwde functie InputBox op die een venster weergeeft met het bijschrift Voer uw naam in. De ingevoerde naam wordt vervolgens opgeslagen in de naamvariabele.

Uw volledige codevenster zou er nu als volgt uit moeten zien

  • Sluit het codevenster
  • Klik met de rechtermuisknop op knop 1 en selecteer tekst bewerken
  • Enter Zeg hallo
  • Klik op Zeg hallo
  • U krijgt het volgende invoerveld
  • Voer uw naam in, bijvoorbeeld Jordan
  • U krijgt het volgende berichtvenster

Gefeliciteerd, je hebt zojuist je eerste VBA-programma in Excel gemaakt

Stap voor stap voorbeeld van het maken van een eenvoudige EMI-calculator in Excel

In deze zelfstudie gaan we een eenvoudig programma maken dat de EMI berekent. EMI is de afkorting voor Equated Monthly Termment. Het is het maandelijkse bedrag dat u terugbetaalt als u een lening krijgt. De volgende afbeelding toont de formule voor het berekenen van EMI.

De bovenstaande formule is complex en kan in Excel worden geschreven. Het goede nieuws is dat Excel het bovenstaande probleem al heeft opgelost. U kunt de PMT-functie gebruiken om het bovenstaande te berekenen.

De PMT-functie werkt als volgt

=PMT(rate,nper,pv)

HIER,

  • "tarief" dit is het maandelijkse tarief. Het is het rentepercentage gedeeld door het aantal betalingen per jaar
  • "aantal" is het totale aantal betalingen. Het is de uitleentermijn vermenigvuldigd met het aantal betalingen per jaar
  • "pv" huidige waarde. Het is het werkelijke geleende bedrag

Maak de GUI met Excel-cellen zoals hieronder weergegeven

Voeg een opdrachtknop toe tussen rij 7 en 8

Geef de macro-naam van de knop btnCalculateEMI_Click

Klik op de knop Bewerken

Voer de volgende code in

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Doublemonthly_rate = Range("B6").Value / Range("B5").Valueloan_amount = Range("B3").Valuenumber_of_periods = Range("B4").Value * Range("B5").Valueemi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)Range("B9").Value = emi

HIER,

  • "Dim Monthly_rate As Single, ..." Dim is het sleutelwoord dat wordt gebruikt om variabelen in VBA te definiëren, Monthly_rate is de variabelenaam, Single is het gegevenstype dat betekent dat de variabele een getal accepteert.
  • "Monthly_rate = Bereik (" B6 "). Waarde / Bereik (" B5 "). Waarde" Bereik is de functie die wordt gebruikt om toegang te krijgen tot Excel-cellen vanuit VBA, Bereik ("B6"). Waarde verwijst naar de waarde in B6
  • "WorksheetFunction.Pmt (…)" WorksheetFunction is de functie die wordt gebruikt om toegang te krijgen tot alle functies in Excel

De volgende afbeelding toont de volledige broncode

  • Klik op opslaan en sluit het codevenster
  • Test uw programma zoals weergegeven in de geanimeerde afbeelding hieronder

VBA Excel-voorbeeld

Stap 1) Klik op het tabblad Ontwikkelaar in het hoofdmenu op het pictogram "Visual Basic" om uw VBA-editor te openen.

Stap 2) Er wordt een VBA-editor geopend, van waaruit u het Excel-blad kunt selecteren waarop u de code wilt uitvoeren. Dubbelklik op het werkblad om de VBA-editor te openen.

Het opent een VBA-editor aan de rechterkant van de map. Het ziet eruit als een witte ruimte.

Stap 3) In deze stap gaan we ons eerste VBA-programma zien. Om ons programma te kunnen lezen en weergeven hebben we een object nodig. In VBA dat object of medium in een MsgBox.

  • Schrijf eerst "Sub" en vervolgens uw "programmanaam" (Guru99)
  • Schrijf alles wat je wilt weergeven in de MsgBox (guru99-leren is leuk)
  • Beëindig het programma door End Sub

Stap 4) In de volgende stap moet u deze code uitvoeren door op de groene knop Uitvoeren bovenaan het bewerkingsmenu te klikken.

Stap 5) Wanneer u de code uitvoert, verschijnt er een ander venster. Hier moet u het blad selecteren waarop u het programma wilt weergeven en op de knop "Uitvoeren" klikken

Stap 6) Als u op de knop Uitvoeren klikt, wordt het programma uitgevoerd. Het zal het bericht in MsgBox weergeven.

Download de bovenstaande Excel-code

Overzicht

VBA volledig formulier: Visual Basic voor toepassing. Het is een subcomponent van de visuele basisprogrammeertaal die u kunt gebruiken om applicaties in Excel te maken. Met VBA kunt u nog steeds profiteren van de krachtige functies van Excel en deze in VBA gebruiken.