DatorerProgramvara

VBA Excel: exempelprogrammen. Makron i Excel

Få människor vet att den första versionen av den populära Microsoft Excel produkt dök upp i 1985. Sedan dess har det genomgått flera ändringar och efterfrågan på miljontals användare över hela världen. Men många arbetar endast med lite kapacitet detta kalkylblad och vet inte ens hur de skulle kunna göra livet lättare för förmågan att Excel programmering.

Vad är VBA

Programmering i Excel görs av Visual Basic for Application programmeringsspråk som ursprungligen byggdes i den mest kända kalkylblad från Microsoft.

Till hans meriter experter tillskriver den relativa lätthet utveckling. Som praxis visar, kan VBA behärska grunderna, även användare som inte har professionella kunskaper i programmering. För VBA funktioner inkluderar script utförande på kontoret applikationsmiljö.

Nackdelen med programmet är de problem som är förknippade med kompatibiliteten hos olika versioner. De orsakas av det faktum att VBA-kod för programmet hänvisas till den funktionalitet som finns i den nya versionen av produkten, men inte i den gamla. Det finns också en stor nackdel och alltför hög öppenhet kod för att förändra en främling. Men Microsoft Office och IBM Lotus Symphony tillåter användare att tillämpa kryptering portkod och lösenordsinställningar för att visa den.

Objekt, samlingar, egenskaper, och metoder

Det är med dessa begrepp som du behöver för att förstå dem som kommer att arbeta i VBA miljö. Först av allt måste du förstå vad objektet är. I Excel, i denna handling som ett ark, en bok, och cellområde. Dessa objekt har speciella hierarki, dvs. lyda varandra.

Chief bland dem är Application, motsvarande Excel själva programmet. Följt arbetsböcker, kalkylblad och Range. Till exempel att hänvisa till cell A1 på ett specifikt måste visa vägen, med hänsyn till hierarkin.

När det gäller begreppet "samling" denna grupp av objekt av samma klass, i vilken inspelning ges ChartObjects. Dess element är också föremål.

Nästa sak - egenskaper. De är ett nödvändigt inslag i något föremål. Till exempel för Range - är ett värde eller Formula.

Metoder - är kommandot för att visa att du vill göra. När du skriver kod i VBA dem att separeras från objektpunkten. Till exempel, såsom kommer att visas senare, mycket ofta vid programmering i kommandot "Excel" användnings Celler (1,1) .Select. Det betyder att det är nödvändigt att välja en cell med koordinaterna (1,1), dvs. A1.

Det är dock ofta Selection.ClearContents. Genomförandet är att rensa innehållet i den markerade cellen.

Hur man börjar

Först av allt, du vill skapa filen och spara den, ange ett namn och välj vilken typ av «bok Excel makroaktiverad ".

Gå sedan till VB ansökan, vilket är tillräckligt för att använda en kombination av «Alt» nyckel och «F11». Nästa:

  • i menyraden högst upp i fönstret, klicka på ikonen bredvid ikonen Excel;
  • Mudule valda kommandot;
  • hålla klicka på ikonen med disketten;
  • skriva, säg, en kod kontur.

Det ser ut som följer:

Sub-programmet ()

'Vår kod

End Sub

Observera att raden " 'Vår kod" kommer att markeras i en annan färg (grön). Anledningen till detta apostrof, levereras i början av strängen, vilket tyder på att det som följer är en kommentar.

Nu kan du skriva någon kod och skapa sig ett nytt verktyg i VBA Excel (se exempelprogrammen. Etc.). Naturligtvis, de som är bekanta med grunderna i Visual Basic, kommer det att bli mycket lättare. Men även de som inte har, om du vill kunna få bekväm ganska snabbt.

Makron i Excel

Bakom detta namn döljer program skrivna i Visual Basic for Application språk. Således programmering till Excel - är att skapa ett makro till önskad kod. Med denna förmåga, Microsoft kalkylblad själv utvecklar, anpassar sig till kraven på en viss användare. Efter att ha behandlat hur man skapar moduler för att skriva makron, är det möjligt att gå vidare med konkreta exempel på VBA Excel-programmet. Det är bäst att börja med de mest grundläggande koder.

EXEMPEL 1

Uppgift: Skriv ett program som kopierar värdet av innehållet i en cell och sedan skriva till en annan.

Gör så här:

  • Öppna fliken "Visa";
  • flytta ikonen "makron";
  • skaka till "Spela in makro";
  • fylla öppnade formen.

För enkelhetens skull, i "Macro Name" lämna "Makros1" och i "Kortkommando" infogas till exempel hh (vilket innebär att du kan köra exemplet programmet kommer att vara «Ctrl + h» blitz lag). Tryck på Enter.

Nu när du har börjat spela in makro, utgör innehållet i en cell till en annan. Återgå till den ursprungliga ikonen. Klicka på "Record Macro". Denna åtgärd markerar slutförandet av applets.

Nästa:

  • återigen flytta till strängen "makron";
  • väljs i listan "Macro 1";
  • klicka på "Kör" (samma åtgärd startar lanserades kortkommandon «Ctrl + hh»).

Som ett resultat av de åtgärder som har genomförts under inspelning makrot.

Det är vettigt att se hur koden ser ut. För att göra detta, gå tillbaka till strängen "Makron" och klicka på "Redigera" eller "Enter". Som ett resultat, de befinner sig i VBA miljö. Faktiskt, är själva koden belägen mellan linjerna makro Makros1 Sub () och End Sub.

Om kopieringen har utförts, till exempel från en cell A1 i cell C1, en av de kodrader kommer att se ut Range ( "C1"). Välj. I översättning, ser det ut som "Range (" C1 "). Välj", med andra ord, gör en övergång till VBA Excel, i cell C1.

En aktiv del av koden avslutar ActiveSheet.Paste laget. Det innebär att spela in innehållet valda cellen (i detta fall, A1) i den utvalda cellen C1.

EXEMPEL 2

VBA cykler bidra till att skapa olika makron i Excel.

VBA cykler bidra till att skapa olika makron. Antag att det finns en funktion y = x + x 3 + 3x 2 - cos (x). Du vill skapa ett makro för sina bilder. Detta kan göras endast med hjälp av VBA cykler.

För den initiala och slutliga värdet av argumentfunktioner tar x1 = 0 och x2 = 10. Dessutom är det nödvändigt att införa ett konstant - värdet för steget ändrar argumentet och ett initialt värde för räknaren.

Alla exempel på VBA Excel-makron är skapade med användning av samma procedur såsom framställs ovan. I det här fallet, koden ser ut:

Sub programm ()

x1 = 1

x2 = 10

shag = 0,1

i = 1

Göra medan x1

y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)

Celler (i, 1) .value = x1 (x1 värde skrivs in i minnet med koordinaterna (i, 1))

Celler (i, 2) .value = y (är y-värdet skrivet i cellen med koordinaterna (i, 2))

i = i + 1 (giltig count);

x1 = x1 + shag (argument ändras till den stegstorlek);

loop

End Sub.

Som ett resultat av denna körning makro "Excel" erhålla två kolumner, av vilka den första är inspelade värdena för x, och den andra - till y.

Då schema kunna bygga vidare på dem, standarden för "Excel".

EXEMPEL 3

För att genomföra cykler i VBA Excel 2010, liksom i andra versioner, tillsammans med redan minskat Do Medan designen används till.

Överväga ett program som skapar en kolumn. I varje cell kommer det att registreras rutor motsvarande radnummer. För användning av designen gör det möjligt att spela in den mycket kortfattat, utan att använda en räknare.

Först är det nödvändigt att skapa ett makro, som beskrivs ovan. Därefter skriver själva koden. Vi tror att vi är intresserade av värdena för de 10 cellerna. Koden är som följer.

För i = 1 till 10 Nästa

Kommandot överförs till den "mänskliga" språk, som "upprepas från 1 till 10 vid steg om ett."

Om uppgiften att ta emot kolumnen med rutor, till exempel, alla udda heltal mellan 1 och 11, skriver vi:

För i = 1 till 10, steg 1 Nästa.

Här, steg - steg. I detta fall är det lika med två. Som standard, frånvaron av ordet i slingan betyder att ett enda steg.

Resultaten måste lagras i cellantal (i, 1). Då varje gång du startar cykeln med en ökning av värdet av i steg kommer automatiskt att växa och linjenummer. Således kommer det att finnas kodoptimering.

I allmänhet skulle koden se ut:

Sub-programmet ()

För i = 1 Till 10 Steg 1 (kan skrivas endast för i = 1 Till 10)

Celler (i, 1) .value = i ^ 2 (dvs kvadratvärdet skrivs in i cellen (i, 1) i)

Nästa (på sätt och vis spelar roll räknaranordningen och en annan cykel start)

End Sub.

Om det görs på rätt sätt, inklusive inspelning och löpande makron (se. Instruktionerna ovan), då det kallas varje gång en given storlek kommer att erhållas kolonn (i detta fall bestående av 10 celler).

EXEMPEL 4

I vardagen, är det mycket ofta nödvändigt att ta det ena eller det beslut beroende på vissa villkor. Det går inte att göra utan dem i VBA Excel. Exempel på program där ytterligare förlopp algoritmen väljs i stället för från början förutbestämd vanligaste utformningen av If ... Then (för svåra fall) If ... Then ... End If.

Betrakta det enskilda fallet. Anta att du vill skapa ett makro för "Excel" till cellen med koordinaterna (1,1) har spelats in:

1 om argumentet är positiv;

0 om argumentet är noll;

1, om argumentet är negativt.

Skapandet av en sådan makro för "Excel" börjar på ett standardiserat sätt, med hjälp av "heta" nycklar Alt och F11. Ytterligare skrivit följande kod:

Sub-programmet ()

x = Celler (1, 1) .value (Denna instruktion tilldelar värdet av x-koordinaterna för cellinnehållet (1, 1))

Om x> 0 Därefter Celler (1, 1) .value = 1

Om x = 0 då Celler (1, 1) .value = 0

Om x <0 Därefter Celler (1, 1) .value = -1

End Sub.

Det återstår att köra ett makro och få in "Excel" önskat värde för argumentet.

VBA-funktioner

Som ni kanske har märkt, är den mest kända program Microsoft kalkylprogram inte alltför svårt. Speciellt om du lär dig att använda VBA-funktioner. Totalt denna programmeringsspråk skapats speciellt för att skriva applikationer "Excel" och Ordet, cirka 160 funktioner. De kan delas upp i flera stora grupper. De är:

  • Matematiska funktioner. Tillämpa dem till argument cosinus värde erhålls, den naturliga logaritmen, och så hela delen.
  • Ekonomifunktioner. På grund av deras tillgänglighet och användning programmering i Excel kan du få effektiva verktyg för redovisning och finansiella bosättningar.
  • Array bearbetningsfunktioner. Dessa inkluderar Array, IsArray; LBound; UBound.
  • VBA Excel-funktionen för linjen. Detta är en ganska stor grupp. Den innehåller till exempel Space funktion skapa en sträng med ett antal luckor som är lika med heltal argument eller Asc överför symboler ANSI-kod. Alla av dem är allmänt använda och ger dig möjlighet att arbeta med stråkar i "Excel" för att skapa applikationer mycket lättare att arbeta med dessa tabeller.
  • Typ data konvertering funktioner. Exempelvis CVaR returnerar Expression argumentet, konvertera den till Variant datatyp.
  • Datum funktioner. De expanderar kraftigt de vanliga funktionerna i "Excel". Så återvänder WeekdayName funktionen namnet (helt eller delvis) av veckodag med dess nummer. Ännu mer användbart är timern. Han ger antalet sekunder som förflutit sedan midnatt till en viss tidpunkt på dagen.
  • Funktion för att omvandla ett numeriskt argument i de olika talsystem. Till exempel matar oktober till oktal representation av antalet.
  • formateringsfunktioner. Den viktigaste av dessa är det format. Den returnerar en variant med ett uttryck formaterat enligt instruktionerna i beskrivningen av format.
  • och så vidare.

Studiet av egenskaperna hos dessa funktioner och deras tillämpning kommer att avsevärt utvidga omfattningen av "Excel".

EXEMPEL 5

Låt oss försöka lösa mer komplexa problem. Till exempel:

Dan pappersdokument den faktiska nivån på kostnaderna för företagets rapport. kräver:

  • utveckla sin mönsterdelen genom kalkylark "Excel";
  • göra en VBA-program som kommer att be om rådata för att fylla det, för att utföra de nödvändiga beräkningarna och fyll i mallen för motsvarande cell.

Anser en av följande lösningar.

Skapa en mall

Alla åtgärder utförs på en standard ark i Excel. Fria celler som reserverats för att mata in data på månad, år, titelkonsumentföretag, mängden av kostnaderna, deras nivå av omsättningen. Eftersom antalet företag (företag), för vilken rapporten inte registreras, till cellerna göra på grundval av värderingar och professionella namn inte bokas i förväg. Kalkylblad tilldelas ett nytt namn. Till exempel "Օ Report".

variabler

Att skriva programmet automatiskt fylla i mallen väljer notation. De kommer att användas för variablerna:

  • NN- numret på den aktuella raden i tabellen;
  • TP och TF - planerade och faktiska omsättning;
  • SF och SP - faktiska och planerade totala kostnaderna;
  • IP och IF - planerade och faktiska kostnader nivå.

Vi betecknar med samma bokstäver, men med en "prefix» Itog ansamling totalt för den kolumnen. Till exempel ItogTP - När det gäller kolumnen, som "den planerade omsättningen."

Lösning på problemet med hjälp av VBA-programmering

Med hjälp av denna notation får vi formeln för variansen. Om du vill utföra beräkningen i% vi har (F - P) / P * 100, och mängden - (F - P).

Resultaten av dessa beräkningar kan vara bäst att bara göra "Excel" kalkylblad i lämpliga celler.

För utfallet och prognos i själva verket erhållits genom formlerna ItogP = ItogP + P och ItogF = ItogF + F.

För avvikelser använder = (ItogF - ItogP) / ItogP * 100 om beräkningen utförs i procent, och om det totala värdet - (ItogF - ItogP).

Resultaten återigen in i lämpliga celler, så det finns ingen anledning att tilldela dem till variabler.

Innan du börjar att skapa ett program som du vill spara arbetsboken, till exempel under namnet "Otchet1.xls".

Tryck på "Skapa en rapporttabellen," du måste trycka bara en gång efter att komma in i huvudinformationen. Du bör känna till och andra regler. I synnerhet på knappen "Lägg till en rad" måste tryckas in varje gång efter att komma in i tabell över värden för varje aktivitet. När du har angett alla uppgifter som krävs för att trycka på knappen "Finish", och sedan byta till "Excel" i fönstret.

Nu när du vet hur man löser problemet för Excel med makron. Möjligheten att använda VBA Excel (se exempelprogrammen. Ovan) och du kan behöva arbeta i miljön av de mest populära just nu, textredigeraren "Word". Framför allt genom att registrera, som visas i början av den här artikeln eller genom att skriva kod för att skapa menyknappar genom vilka många operationer på texten kan göras genom att trycka på tangenterna på plikt eller genom "Visa" -ikonen och fliken "Makron".

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sv.birmiss.com. Theme powered by WordPress.