ComputereSoftware

VBA Excel: programeksempler. Makroer i Excel

Kun få mennesker ved, at den første version af den populære Microsoft Excel-produkt udkom i 1985. Siden da har det gennemgået flere ændringer og efterspørgsel af millioner af brugere over hele verden. Men mange arbejder kun med en lille smule kapaciteter af dette regneark og ikke engang ved, hvordan de kunne gøre livet lettere for evnen til Excel programmering.

Hvad er VBA

Programmering i Excel gøres ved Visual Basic for Application programmeringssprog, der oprindeligt blev bygget i det mest berømte regneark fra Microsoft.

Til hans fortjeneste eksperter tilskriver den relative lethed af udvikling. Som praksis viser, kan VBA mestre det grundlæggende, selv brugere, der ikke har faglige viden om programmering. For VBA funktioner omfatter script eksekvering på kontoret ansøgning miljø.

Ulempen af programmet er problemerne forbundet med foreneligheden af forskellige versioner. De er forårsaget af det faktum, at VBA-kode i programmet refererer til den funktionalitet, der er til stede i den nye version af produktet, men ikke i den gamle. Der er også en stor ulempe, og for høj åbenhed kode for at ændre ansigtet af en fremmed. Microsoft Office, og IBM Lotus Symphony tillader imidlertid brugerne mulighed for at anvende kryptering post kode og kodeord indstillinger for at se det.

Objekter, samlinger, ejendomme og metoder

Det er med disse begreber, du har brug for at forstå dem, der kommer til at arbejde i VBA miljø. Først og fremmest skal du forstå, hvad objektet er. I Excel, i denne handling som et ark, en bog, og celleområdet. Disse objekter har særlige hierarki, dvs. adlyde hinanden.

Chief blandt dem er Application, den tilsvarende Excel-programmet selv. Efterfulgt projektmapper, regneark, og Range. For eksempel at henvise til celle A1 på en bestemt ark skal vise vejen, idet der tages hensyn hierarkiet.

Med hensyn til begrebet "indsamling," denne gruppe af genstande af samme klasse, i hvilken optagelse er givet ChartObjects. Dens elementer er også objekter.

Næste ting - egenskaber. De er et nødvendigt element i ethvert objekt. For eksempel, for Range - er en værdi eller formel.

Metoder - er kommandoen til at vise, at du ønsker at gøre. Når du skriver kode i VBA dem at blive adskilt fra objektet punkt. For eksempel vil som vist senere, meget ofte ved programmering i "Excel" betjene Cells kommando (1,1) .Select. Det betyder, at det er nødvendigt at vælge en celle med koordinater (1,1), dvs. A1.

Men det er ofte brugt Selection.ClearContents. Gennemførelsen er clearing indholdet af den valgte celle.

Sådan starter

Først og fremmest, du ønsker at oprette filen og gemme den, tildele et navn og vælge den type «Book Excel-makro-aktiveret."

Gå derefter til VB program, som er nok til at bruge en kombination af «Alt» tasten og «F11». Næste:

  • i menuen øverst i vinduet, skal du klikke på ikonet ved siden af ikonet Excel;
  • Mudule valgte kommando;
  • holde klikke på ikonet med disketten;
  • skrive, siger, en kode omrids.

Det ser ud som følger:

Sub-programmet ()

'Vores kode

End Sub

Bemærk, at linjen " 'Vores kode" vil blive fremhævet med en anden farve (grøn). Årsagen til denne apostrof, leveret i begyndelsen af strengen, hvilket indikerer, at det følgende er en kommentar.

Nu kan du skrive en kode og skabe for sig selv et nyt værktøj i VBA Excel (se programeksempler. Osv). Selvfølgelig er de, der er bekendt med det grundlæggende i Visual Basic, vil det være meget lettere. Men selv dem, der ikke har, hvis du ønsker at være i stand til at blive fortrolig ganske hurtigt.

Makroer i Excel

Bag dette navn gemmer sig programmer skrevet i Visual Basic for Application sprog. Således programmering til Excel - er at skabe en makro til den ønskede kode. Med denne evne, Microsoft regneark selv-udvikler, tilpasning til kravene i en bestemt bruger. Efter at have behandlet, hvordan man skaber moduler til at skrive makroer, er det muligt at gå videre med konkrete eksempler på VBA Excel-programmet. Det er bedst at starte med de mest basale koder.

EKSEMPEL 1

Opgave: Skriv et program, der vil kopiere værdien af indholdet af en celle, og derefter skrive til en anden.

For at gøre dette:

  • åbne fanen "Vis";
  • Flyt ikonet "makroer";
  • ryste på "Indspil makro";
  • udfylde åbnet formular.

For nemheds skyld i "Macro navn" forlade "Makros1" og i "Genvejstast" indsættes, for eksempel, hh (det betyder, at du kan køre eksemplet program vil være «Ctrl + h» blitz hold). Tryk på Enter.

Nu hvor du er begyndt at optage makroen, udgør indholdet af en celle til en anden. Vend tilbage til den oprindelige ikon. Klik på "Indspil makro". Denne handling markerer afslutningen på applets.

Næste:

  • igen flytter til strengen "makroer";
  • er valgt i listen "Makro 1";
  • klik på "Kør" (den samme handling starter Lanceret genvejstaster «Ctrl + hh»).

Som et resultat, den handling, der er udført under optagelsen makroen.

Det giver mening at se, hvordan koden ser ud. For at gøre dette, gå tilbage til strengen "makroer" og klik på "Rediger" eller "Enter". Som et resultat, de befinder sig i VBA miljø. Faktisk er selve koden placeret mellem linjerne makro Makros1 Sub () og End Sub.

Hvis kopieringen er udført, for eksempel fra en celle A1 i celle C1, en af de linjer kode vil se ud Range ( "C1"). Vælg. I oversættelse, det ligner "Range (" C1 "). Vælg", med andre ord, gør en overgang til VBA Excel, i celle C1.

En aktiv del af koden fuldender ActiveSheet.Paste hold. Det betyder optagelse indhold udvalgte celle (i dette tilfælde, A1) i den valgte celle C1.

Eksempel 2

VBA cykler med til at skabe forskellige makroer i Excel.

VBA cykler med til at skabe forskellige makroer. Antag, at der er en funktion y = x + x 3 + 3x 2 - cos (x). Du ønsker at oprette en makro for sine grafik. Dette kan kun gøres ved hjælp af VBA cyklusser.

Til det indledende og endelige værdi af argument funktioner tage x1 = 0 og x2 = 10. Endvidere er det nødvendigt at indføre en konstant - værdien for trin ændrer indlæg og en startværdi for tælleren.

Alle eksempler på VBA Excel makroer er skabt ved hjælp af samme fremgangsmåde som angivet ovenfor. I dette særlige tilfælde, koden ser således ud:

Sub programm ()

x1 = 1

x2 = 10

shag = 0,1

i = 1

Må Mens x1

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

Celler (i, 1) .Value = x1 (x1 værdi skrevet i hukommelsen med koordinaterne (i, 1))

Celler (i, 2) .Value = y (y værdi skrives i cellen med koordinaterne (i, 2))

i = i + 1 (gyldig count);

x1 = x1 + shag (argument ændres til trinstørrelsen);

Loop

End Sub.

Som et resultat af denne kørsel makro "Excel" få to kolonner, hvoraf den første er registreret værdierne for x, og den anden - til y.

Så planlægge i stand til at bygge videre på dem, standarden for "Excel".

EKSEMPEL 3

At gennemføre cyklusser i VBA Excel 2010, såvel som i andre versioner, sammen med den allerede reduceret Do Mens design bruges til.

Overvej en program, der skaber en kolonne. I hver celle vil det blive optaget kvadrater tilsvarende linje nummer. Til brug af designet vil gøre det muligt at optage det meget kort, uden brug af en tæller.

Først er det nødvendigt at oprette en makro, som beskrevet ovenfor. Dernæst skrive koden selv. Vi mener, at vi er interesseret i værdierne for de 10 celler. Koden er som følger.

For i = 1 til 10 Næste

Kommandoen overføres til den "menneskelige" sprog, som "gentaget fra 1 til 10 i trin på én."

Hvis opgaven at modtage kolonnen med firkanter, for eksempel, alle ulige heltal mellem 1 og 11, vi skriver:

For i = 1 til 10 trin 1 Næste.

Her trin - trin. I dette tilfælde er det lig med to. Som standard fraværet af ordet i løkken betyder, at et enkelt trin.

Resultaterne skal opbevares i celleantal (i, 1). Så hver gang du starter cyklussen med en stigning i værdien af i trin vil automatisk vokse og linjenummer. Således vil der være kode optimering.

Generelt vil koden se sådan ud:

Sub-programmet ()

For i = 1 Til 10 Trin 1 (kan skrives kun for i = 1 til 10)

Celler (i, 1) .Value = i ^ 2 (det vil sige kvadratisk værdi skrives ind i cellen (i, 1) i)

Næste (i en vis forstand spiller rollen som tæller midler og en anden cyklus start)

End Sub.

Hvis det gøres korrekt, herunder registrering og løbende makroer (se. Instruktionerne ovenfor), så kaldes det hver gang en given størrelse vil blive opnået søjle (i dette tilfælde bestående af 10 celler).

Eksempel 4

I hverdagen, meget ofte er det nødvendigt at tage dette eller hint beslutning afhængig af nogle betingelser. Kan ikke undvære dem i VBA Excel. Eksempler på programmer, hvor det videre forløb af algoritmen er valgt i stedet for at begynde med forudbestemt, mest almindeligt anvendte udformning af If ... Then (for vanskelige tilfælde) If ... Then ... SLUT Hvis.

Betragt det enkelte tilfælde. Antag, at du vil oprette en makro til "Excel" til cellen med koordinaterne (1,1) er blevet registreret:

1 hvis argumentet er positiv;

0 hvis argumentet er nul;

1, hvis argumentet er negativ.

Oprettelsen af en sådan makro til "Excel" starter i en standard måde, gennem brug af "hot" tasterne Alt og F11. Yderligere skrevet følgende kode:

Sub-programmet ()

x = Celler (1, 1) .Value (Denne kommando tildeler værdien af x-koordinaterne for celleindholdet (1, 1))

Hvis x> 0 Så Celler (1, 1) .Value = 1

Hvis x = 0 Så Celler (1, 1) .Value = 0

Hvis x <0 Then Celler (1, 1) .Value = -1

End Sub.

Det er fortsat at køre en makro og komme i "Excel" ønskede værdi for argumentet.

VBA-funktioner

Som du måske har bemærket, i den mest berømte program Microsoft regnearksprogram er ikke så svært. Især hvis du lærer at bruge VBA-funktioner. I alt dette programmeringssprog skabt specielt til at skrive applikationer i "Excel" og Ordet, omkring 160 funktioner. De kan opdeles i flere store grupper. De er:

  • Matematiske funktioner. opnås anvende dem til argumentet om cosinus værdi, den naturlige logaritme, og så hele del.
  • Finansielle funktioner. På grund af deres tilgængelighed og brug programmering i Excel, kan du få effektive redskaber til regnskabs- og finansielle bosættelser.
  • Array behandling funktioner. Disse omfatter Array, IsArray; LBound; UBound.
  • VBA Excel fungerer for linjen. Dette er en forholdsvis stor gruppe. Det omfatter for eksempel til Space funktion skabe en streng med en række huller svarende til det hele tal argument eller Asc overførsler symboler til ANSI kode. Alle af dem er meget udbredt og giver dig mulighed for at arbejde med strenge i "Excel" til at skabe applikationer meget lettere at arbejde med disse tabeller.
  • Datatype konvertering funktioner. For eksempel Cvar returnerer Expression argument, konvertere den til Variant datatype.
  • Dato funktioner. De i høj grad udvide de standard funktioner "Excel". Så WeekdayName Funktionen returnerer navnet (helt eller delvist) af den dag i ugen ved dens nummer. Endnu mere nyttig er Timer. Han giver det antal sekunder, der er gået siden midnat til et bestemt tidspunkt af dagen.
  • Funktion til at konvertere en numerisk argument i de forskellige talsystemer. For eksempel, okt udgange til oktal repræsentation af nummeret.
  • formatering af funktioner. Den vigtigste af disse er den Format. Den returnerer en Variant med et udtryk formateret i henhold til anvisningerne i beskrivelsen af formatet.
  • og så videre.

Studiet af egenskaberne for disse funktioner og deres anvendelse i væsentlig grad vil udvide omfanget af "Excel".

EKSEMPEL 5

Lad os prøve at løse mere komplekse problemer. For eksempel:

Dan papirdokument det faktiske niveau af udgifter til virksomhedens rapport. kræver:

  • udvikle sin mønster del af regneark "Excel";
  • lave en VBA program, der vil bede om rådata til at udfylde det, til at udføre de nødvendige beregninger og udfylde skabelonen for den tilsvarende celle.

Overvej en af følgende løsninger.

Oprettelse af en skabelon

Alle handlinger udføres på en standard ark i Excel. Gratis celler forbeholdt til indtastning af data på måneden, året, titel-forbruger selskaber, størrelsen af de omkostninger, deres niveau af omsætningen. Da antallet af selskaber (selskaber), for hvilke der ikke er registreret i rapporten, at cellerne gøre på baggrund af værdier og faglige navn er ikke reserveres på forhånd. Arbejdsark tildeles et nyt navn. For eksempel, "Օ Report".

variabler

For at skrive programmet automatisk udfylde skabelonen, skal du vælge notation. De vil blive brugt til variablerne:

  • NN- nummeret på den aktuelle række i tabellen;
  • TP og TF - planlagte og faktiske omsætning;
  • SF og SP - aktuelle og planlagte samlede omkostninger;
  • IP og IF - planlagte og faktiske omkostninger niveau.

Vi betegner de samme bogstaver, men med en "præfiks» Itog ophobning alt for den pågældende kolonne. For eksempel ItogTP - Med hensyn til kolonnen med overskriften, som "den planlagte omsætning."

Løsning af problemet ved hjælp af VBA programmering

Under anvendelse af denne notation, får vi formlen for variansen. Hvis du ønsker at udføre beregningen i% vi har (F - P) / P * 100, og i mængden af - (F - P).

Resultaterne af disse beregninger kan være bedst bare at gøre "Excel" regneark i de relevante celler.

For resultatet og prognose faktisk opnået ved formlerne ItogP = ItogP + P og ItogF = ItogF + F.

For afvigelser bruger = (ItogF - ItogP) / ItogP * 100, hvis beregningen udføres som en procentdel, og hvis den samlede værdi - (ItogF - ItogP).

Resultaterne igen registreret i de relevante celler, så der er ingen grund til at tildele dem til variabler.

Inden du begynder at skabe et program, du vil gemme projektmappen, for eksempel under navnet "Otchet1.xls".

Tryk på "Opret en rapportering bord", skal du trykke på kun 1 gang efter indtastning af header information. Du skal vide og andre regler. Især på knappen "Tilføj en linje" skal trykkes hver gang efter indtastning i tabellen af værdier for hver aktivitet. Efter indtastning af alle data, der kræves for at trykke på knappen "Finish", og derefter skifte til "Excel" i vinduet.

Nu hvor du ved, hvordan man løser problemet for Excel med makroer. Evnen til at bruge VBA Excel (se programeksempler. Ovenfor), og det kan være nødvendigt at arbejde i miljøet af de mest populære i øjeblikket, teksteditoren "Ordet". Især ved at optage, som vist i starten af denne artikel, eller ved at skrive kode til at oprette menuknapperne hvorigennem mange af operationer på teksten kan gøres ved at trykke på tasterne på vagt eller gennem "View" ikonet og fanen "makroer".

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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