DatamaskinerProgramvare

VBA Excel: eksempelprogrammer. Makroer i Excel

De færreste vet at den første versjonen av den populære Microsoft Excel produktet dukket opp i 1985. Siden da har det gjennomgått flere endringer og etterspørsel av millioner av brukere over hele verden. Men mange jobber bare med litt egenskapene til dette regnearket og ikke engang vet hvordan de kan gjøre livet enklere for evnen til Excel programmering.

Hva er VBA

Programmering i Excel er gjort av Visual Basic for Application programmeringsspråk som opprinnelig ble bygget i den mest berømte regneark fra Microsoft.

Til sin fortjeneste eksperter attributt den relative enkle utvikling. Som praksis viser, kan VBA mestre det grunnleggende, også brukere som ikke har faglig programmering. For VBA funksjoner inkluderer skriptkjøring på kontoret programmiljø.

Ulempen med programmet er de problemer som er forbundet med kompatibiliteten til ulike versjoner. De er forårsaket av det faktum at VBA-kode i programmet refererer til den funksjonaliteten som finnes i den nye versjonen av produktet, men ikke i den gamle. Det er også en stor ulempe og overdrevent høy åpenhet med kode for å endre ansiktet til en fremmed. Men Microsoft Office, og IBM Lotus Symphony tillater brukere å bruke kryptering oppføring kode og passordinnstillinger for å kunne se den.

Objekter, samlinger, egenskaper og metoder

Det er med disse begreper du trenger for å forstå de som skal arbeide i VBA miljø. Først av alt må du forstå hva objektet er. I Excel, i denne loven som et ark, en bok, og celleområdet. Disse formål har spesiell struktur, d.v.s. adlyde hverandre.

Chief blant dem er Application, tilsvarende Excel selve programmet. Fulgt arbeidsbøker, regneark, og Range. For eksempel, for å henvise til celle A1 på en bestemt plate må peke den måte, idet det tas hensyn til hierarkiet.

Når det gjelder begrepet "samling", denne gruppen av gjenstander av samme klasse, i hvilken opptaks er gitt ChartObjects. Dens elementer er også stedene.

Neste ting - egenskaper. De er en nødvendig funksjon i et objekt. For eksempel for Range - er en verdi eller formel.

Metoder - er kommandoen for å vise at du ønsker å gjøre. Når du skriver kode i VBA dem å bli skilt fra objektpunktet. For eksempel vil da bli vist senere, svært ofte ved programmering i "Excel" bruk Celler kommando (1,1) .Velg. Det betyr at det er nødvendig å velge en celle med koordinatene (1,1), d.v.s. A1.

Imidlertid er det ofte brukt Selection.ClearContents. Gjennomføringen er clearing innholdet i den valgte cellen.

Hvordan starte

Først av alt, du ønsker å opprette filen og lagre den, gi et navn og velge type «Book Excel makroaktivert ".

Deretter går du til VB program, som er nok til å bruke en kombinasjon av «Alt» -tasten og «F11». Neste:

  • i menylinjen øverst i vinduet, klikk på ikonet ved siden av Excel-ikonet;
  • Mudule valgte kommandoen;
  • fortsett å klikke på ikonet med diskett;
  • skrive, sier en kode disposisjon.

Det ser ut som følger:

Sub-programmet ()

'Vår kode

End Sub

Vær oppmerksom på at linjen " 'Vår code" vil bli uthevet i en annen farge (grønn). Grunnen til dette apostrof, levert i begynnelsen av strengen, noe som indikerer at det som følger er en kommentar.

Nå kan du skrive kode og skape seg et nytt verktøy i VBA Excel (se eksempelprogrammene. Etc.). Selvfølgelig, de som er kjent med det grunnleggende Visual Basic, vil det være mye enklere. Men selv de som ikke har, hvis du ønsker å være i stand til å bli komfortabel ganske raskt.

Makroer i Excel

Bak dette navnet skjuler programmer skrevet i Visual Basic for Application språk. Dermed programmering til Excel - er å lage en makro til ønsket kode. Med denne evnen, Microsoft regneark selv utvikler, tilpasser seg kravene til en bestemt bruker. Etter å ha jobbet med hvordan å lage moduler for å skrive makroer, er det mulig å gå videre med konkrete eksempler på VBA Excel program. Det er best å starte med de mest grunnleggende kodene.

EKSEMPEL 1

Oppgave: Skriv et program som vil kopiere verdien av innholdet i en celle, og deretter skrive til en annen.

For å gjøre dette:

  • åpne kategorien "View";
  • Flytt ikonet "makroer";
  • riste av "Registrer makro";
  • fylle åpne formen.

For enkelhets skyld i "Makronavn" forlate "Makros1" og i "Shortcut key" er satt inn, for eksempel hh (dette betyr at du kan kjøre eksempel programmet vil være «Ctrl + h» blitz lag). Trykk på Enter.

Nå som du har startet innspillingen av makroen, utgjør innholdet i en celle til en annen. Gå tilbake til den opprinnelige ikonet. Klikk på "Registrer makro". Denne handlingen markerer ferdigstillelsen av applets.

Neste:

  • igjen beveger seg til strengen "makroer";
  • er valgt i listen "Macro 1";
  • Klikk "Kjør" (den samme handlingen starter lansert hurtigtaster «Ctrl + hh»).

Som et resultat av den virkning som er blitt utført under opptak makroen.

Det er fornuftig å se hvordan koden ser ut. For å gjøre dette, gå tilbake til strengen "Makroer" og klikk "Rediger" eller "Enter". Som et resultat, finner de seg i VBA miljø. Egentlig er selve koden som befinner seg mellom linjene makro Makros1 Sub () og End Sub.

Hvis kopiering er utført, for eksempel fra en celle A1 i celle C1, en av linjene med kode vil se ut Range ( "C1"). Velg. I oversettelse, ser det ut som "Range (" C1 "). Velg", med andre ord, gjør en overgang til VBA Excel, i celle C1.

En aktiv del av koden full ActiveSheet.Paste team. Det organer som registrerer innholdet utvalgte celle (i dette tilfelle, A1) i utvalgt celle C1.

Eksempel 2

VBA sykluser bidra til å skape forskjellige makroer i Excel.

VBA sykluser bidra til å skape forskjellige makroer. Anta at det er en funksjon y = x + x 3 + 3x 2 - cos (x). Du ønsker å opprette en makro for sin grafikk. Dette kan bare gjøres ved hjelp av VBA sykluser.

For den initiale og endelige verdien av argumentet funksjonene ta x1 = 0 og x2 = 10. Videre er det nødvendig å innføre et konstant - verdien for trinnet endrer argument og en initialverdi for telleren.

Alle eksempler på VBA Excel makroer er opprettet ved hjelp av samme prosedyre som angitt ovenfor. I dette tilfellet ser koden slik ut:

Sub programmerbar ()

x1 = 1

x2 = 10

shag = 0,1

i = 1

Do Mens x1

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

Cellene (i, 1) .Value = x1 (x1 verdi skrevet i minnet sammen med koordinatene (i, 1))

Cellene (i, 2) .Value = y (y er verdien skrevet i cellen med koordinater (i, 2))

i = i + 1 (gyldig telling);

x1 = x1 + ligge med (argument er endret til trinnstørrelsen);

Loop

End Sub.

Som et resultat av denne kjøre makro "Excel" få to kolonner, hvorav den første er spilt inn verdiene for x, og den andre - til y.

Deretter planlegge i stand til å bygge videre på dem, standarden for "Excel".

EKSEMPEL 3

Å implementere sykluser i VBA Excel 2010, så vel som i andre versjoner, sammen med allerede redusert Do Mens utformingen brukes til.

Vurdere et program som skaper en kolonne. I hver celle vil det bli registrert kvadrater som tilsvarer linjenummer. For bruk av design vil tillate å ta det veldig kort, uten bruk av en teller.

Først er det nødvendig å skape en makro, som beskrevet ovenfor. Deretter skrive koden selv. Vi tror at vi er interessert i verdiene for de 10 cellene. Koden er som følger.

For i = 1 til 10 Neste

Kommandoen blir overført til "human" språk, som "gjentatt fra 1 til 10 i inkrementer på en".

Hvis oppgaven å motta kolonne med ruter, for eksempel alle odde tall mellom 1 og 11, skriver vi:

For i = 1 til 10 trinn 1 Neste.

Her trinn - trinn. I dette tilfellet er det lik to. Som standard betyr fraværet av ordet i sløyfen som et enkelt trinn.

Resultatene må være lagret i celletall (i, 1). Så hver gang du starter syklusen med en økning i verdien av jeg steg vil automatisk vokse og linjenummer. Dermed vil det være kode optimalisering.

Generelt vil koden se slik ut:

Sub-programmet ()

For i = 1 til 10 trinn 1 (kan skrives bare for i = 1 til 10)

Cellene (i, 1) .Value = i ^ 2 (dvs. kvadratverdien blir skrevet inn i cellen (i, 1) i);

Neste (på en måte spiller rollen telleren midler og en annen syklus start)

End Sub.

Hvis det gjøres riktig, inkludert opptak og drifts makroer (se. Instruksjonene over), da kalles det hver gang en gitt størrelse vil bli oppnådd kolonne (i dette tilfellet bestående av 10 celler).

Eksempel 4

I hverdagen, veldig ofte er det nødvendig å ta dette, eller at avgjørelsen avhengig av enkelte forhold. Kan ikke gjøre uten dem i VBA Excel. Eksempler på programmer der videre løpet av algoritmen er valgt i stedet for å begynne med forhåndsbestemt, mest brukte design av If ... Then (for vanskelige tilfeller) If ... Then ... END If.

Vurdere den enkelte sak. Tenk deg at du ønsker å opprette en makro for "Excel" til cellen med koordinatene (1,1) er spilt inn:

1 hvis argument er positiv;

0 hvis argument er null;

1, hvis argument er negativ.

Opprettelsen av en slik makro for "Excel" starter i en standard måte, gjennom bruk av "hot" tastene Alt og F11. Videre skrevet følgende kode:

Sub-programmet ()

x = Celler (1, 1) .Value (Denne kommandoen tildeler verdien av x-koordinatene celleinnholdet (1, 1))

Dersom x> 0, så Celler (1, 1) .Value = 1

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

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

End Sub.

Det gjenstår å kjøre en makro og komme i "Excel" ønsket verdi for argumentet.

VBA-funksjoner

Som du kanskje har lagt merke til, i den mest kjente programmet Microsoft regnearkprogram er ikke så vanskelig. Spesielt hvis du lære hvordan du bruker VBA-funksjoner. Totalt denne programmeringsspråk laget spesielt for å skrive søknader i "Excel" og Ordet, ca 160 funksjoner. De kan deles inn i flere store grupper. De er:

  • Matematiske funksjoner. Å påføre dem på argumentet av cosinus-verdi er oppnådd, den naturlige logaritme, og slik at den hele delen.
  • Økonomiske funksjoner. På grunn av deres tilgjengelighet og bruk programmering i Excel, kan du få effektive verktøy for regnskap og økonomisk oppgjør.
  • Lydbehandling funksjoner. Disse inkluderer Array, IsArray; LBound; UBound.
  • VBA Excel fungere for linjen. Dette er en ganske stor gruppe. Det omfatter, for eksempel, for å Space funksjon å opprette en streng med en rekke hull som er lik et helt tall argument eller Asc overfører symboler for å ANSI kode. Alle av dem er utbredt og tillater deg å arbeide med strenger i "Excel" for å lage programmer mye enklere å jobbe med disse tabellene.
  • Datatype konvertering funksjoner. For eksempel, returneres CVar Expression argument, omdannelse av den til variant datatype.
  • Dato funksjoner. De sterkt utvide standard funksjoner i "Excel". Så, returnerer WeekdayName funksjon navnet (helt eller delvis) av dagen i uken med sin nummer. Enda mer nyttig er Timer. Han gir antall sekunder som har gått siden midnatt til et bestemt tidspunkt på dagen.
  • Funksjon for å konvertere en numerisk argument i de ulike tallsystemer. For eksempel, Oct utganger til oktal representasjon av nummeret.
  • formateringsfunksjoner. Den viktigste av disse er Format. Den returnerer en variant med et uttrykk som er formatert i henhold til instruksjoner gitt i beskrivelsen av format.
  • og så videre.

Studiet av egenskapene til disse funksjonene og deres søknad vil vesentlig utvide omfanget av "Excel".

Eksempel 5

La oss prøve å løse mer komplekse problemer. For eksempel:

Dan papirdokument selve kostnadsnivået i bedriften rapporten. krever:

  • utvikle dens mønster del av regneark "Excel";
  • gjøre en VBA program som vil be om rådata å fylle det, for å utføre nødvendige beregninger og fyll i malen i den aktuelle cellen.

Vurdere en av følgende løsninger.

Opprette en mal

Alle handlinger utføres på en standard ark i Excel. Gratis celler reservert for å legge inn data på måned, år, tittel-forbruker selskaper, mengden av kostnadene, deres nivå av omsetningen. Som antall selskaper (selskaper), i forhold som rapporten ikke er registrert, til cellene gjøre på grunnlag av verdier og profesjonell navn er ikke reserveres på forhånd. Regneark tildelt et nytt navn. For eksempel "Օ Report".

variabler

Å skrive programmet automatisk fylle ut malen, velger notasjon. De vil bli brukt for variablene:

  • NN- nummeret på den aktuelle linje i tabellen;
  • TP og TF - planlagt og faktisk omsetning,
  • SF og SP - faktiske og planlagte totalkostnader;
  • IP og IF - planlagte og faktiske kostnader nivå.

Vi betegner ved de samme bokstavene, men med en "prefiks» Itog opphopning totalt for den kolonnen. For eksempel, ItogTP - Med hensyn til kolonnen med tittelen som "planlagt omsetning."

Løsning av problemet ved hjelp av VBA programmering

Ved hjelp av denne notasjon, får vi formelen for avviket. Hvis du ønsker å utføre beregningen i% vi har (F - P) / P * 100, og i mengden - (F - P).

Resultatene av disse beregningene kan være best bare å gjøre "Excel" regneark i de aktuelle cellene.

For resultatet og prognose i virkeligheten oppnådd ved formlene ItogP = ItogP + P og ItogF = ItogF + F.

For avvik bruke = (ItogF - ItogP) / ItogP * 100 hvis beregningen utføres som en prosentandel, og hvis den totale verdien - (ItogF - ItogP).

Resultatene igjen registreres i de aktuelle cellene, så det er ikke nødvendig å tilordne dem til variabler.

Før du begynner å lage et program du vil lagre arbeidsboken, for eksempel under navnet "Otchet1.xls".

Trykk på "Lag en rapporteringstabellen," du må trykke bare en gang etter inn i hodeinformasjon. Du bør vite og andre regler. Spesielt på knappen "Legg til en linje" må trykkes hver gang etter inngåelse tabell med verdier for hver aktivitet. Etter inn alle data som kreves for å trykke på knappen "Finish", og deretter bytte til "Excel" i vinduet.

Nå som du vet hvordan du skal løse problemet for Excel med makroer. Muligheten til å bruke VBA Excel (se eksempelprogrammer. Ovenfor), og du må kanskje jobbe i miljøet av de mest populære i øyeblikket, skriveprogram "Word". Spesielt ved opptak, som vist i begynnelsen av denne artikkelen, eller ved å skrive koden for å lage menyknappene der mange av operasjonene på teksten kan gjøres ved å trykke på tastene på vakt eller gjennom "View" ikonet og "Makroer" -kategorien.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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