Hvordan indsætter man en færdig makro i en projektmappe? Makroer.

Manualen indeholder makroer om følgende emner:
Køre en makro for at søge efter en celle.
Kør en makro, når du åbner en projektmappe.
Kør en makro, når du indtaster "2" i cellen.
Kør en makro, når du trykker på Enter.
Tilføj din egen "Add-Ins" (celleformat) fane til panelet.
Arbejde med filer (dvs. dataudveksling med TXT, RTF, XLS osv.).
Kontrollerer tilstedeværelsen af ​​en fil på den angivne sti.
Søg efter den ønskede fil.
Automatisering af filsletning.
Fri tekst i statuslinjen.
Gendannelse af statuslinjen.
Krybende linje i statuslinjen.

Skift hurtigt vinduets titel.
Ændring af vinduets titel (skjuler filnavnet).
Vend tilbage til den oprindelige titel.
Hvad er åbent i øjeblikket.
Arbejde med tekstfiler.
Skriv og læs tekstfil.
Behandling af flere tekstfiler.
Bestemmelse af slutningen af ​​en linje i en tekstfil.
Kopiering fra en tekstfil til Excel.

Kopier indhold til en tekstfil.
Eksporter data til txt.
Eksporter data til html.
Importer data, der kræver mere end 256 kolonner.
Skabelse sikkerhedskopier værdifulde filer.
Tæller antallet af gange en fil er blevet åbnet.
Udskriv filstien til den aktive celle.
Kopiering af indhold RTF fil i Excel.
Kopiering af data fra en lukket projektmappe.
Udtræk data fra en lukket fil.
Søg efter et ord i filer.
Opret en tekstfil og indtast tekst i filen.
Opret en tekstfil, og indtast tekst (afslutning af filregistrering).
Opret Word-dokumenter baseret på en Excel-tabel.
Kommandoer til at oprette og slette mapper.
Hent den aktuelle mappe.
Skift bibliotek.

Se alle filer i en mappe.
Se alle filer i en mappe.
Arbejder Microsoft-området Excel.
Arbejdsbog.
Antal navne arbejdsbog.
Arbejdsbog beskyttelse.
Forbud mod trykning af bøger.
Åbning af en bog (eller tekstfiler).
Åbn bogen og tilføj tekst til celle A1.
Hvor mange bøger er åbne?
Lukning af alle bøger.
Kun at lukke en projektmappe, når en betingelse er opfyldt.
Gemmer projektmappen med et navn, der repræsenterer den aktuelle dato.
Er projektmappen gemt?
Opret en projektmappe med ét ark.
Lav en bog.
Fjernelse af unødvendige navne.
Hurtig gengivelse af en projektmappe.
Sortering af ark.
Søg maksimal værdi på alle bogens sider.
Arbejdsark.
Kontrollerer om regnearket er beskyttet.
Liste over sorterede ark.
Opret et nyt ark.
Opret et nyt ark.
Fjernelse af ark baseret på dato.
Kopiering af et ark i en bog.
Kopierer et ark til ny bog(oprettet).
Flytning af et ark i en bog.
Flyt flere ark til en ny projektmappe.
Erstat en eksisterende fil.
"Vende" bogen.
Indsæt et sidehoved og en sidefod med navnet på projektmappen, arket og den aktuelle dato.
Findes arket?
Findes arket?
Viser antallet af ark i den aktive projektmappe.
Viser antallet af ark i den aktive projektmappe i form af hyperlinks.
Viser navnene på aktive ark ét efter ét.
Viser den aktuelle bogs navn og arknumre.
Gør arket usynligt.
Hvor mange sider er der på alle ark?
Celle og område (kolonner og rækker).
Kopier rækker til et andet ark.
Kopier kolonner til et andet ark.
Tæller antallet af celler, der indeholder de angivne værdier.
Tæller antallet af celler i et område, der indeholder de angivne værdier.
Tæller antallet af synlige celler i et område.
Bestemmelse af antallet af celler i et område og summen af ​​deres værdier.
Tæller antallet af celler.
Automatisk genberegning af tabeldata, når værdierne ændres.
Indtastning af data i celler.
Indtastning af data ved hjælp af formler.
Seriel datainput.
Indtastning af tekstdata i celler.
Viser bogens navn, ark og antallet af ark i cellerne.
Fjernelse af tomme linjer.
Fjernelse af tomme linjer.
Fjernelse af tomme linjer.
Sletning af en række efter betingelse.
Fjernelse skjulte rækker.
Fjern brugte skjulte eller nul-højde rækker.
Fjernelse af dubletter ved hjælp af en maske.

Vælger et område over den aktuelle celle.
Vælg en celle og placer et tal der.
Fremhæv negative værdier.
Valg af et område og brug af absolutte adresser.

Valg af celler med intervaller.
Valg af flere områder.
Bevægelse gennem celler.
Find din nærmeste tom celle kolonne.
At finde den maksimale værdi.
Søg og erstat efter mønster.
Søg efter en værdi og vis resultatet i et separat vindue.

Søg med fremhævning af fundne data.
Søg efter tilstand i et område.
Finder den sidste ikke-tomme celle i et område.
Finder den sidste ikke-tomme celle i en kolonne.
Finder den sidste ikke-blanke celle i en række.
Cellesøgning af blå farve i rækken.
At finde en negativ værdi i et område og fremhæve den med blåt.
Finde tilstedeværelsen af ​​en værdi i en kolonne.
Find matcher i en række.
Søg efter en celle i et område.
Søg efter en celle i et område.
Finde en omtrentlig værdi i et interval.
Finder begyndelsen og slutningen af ​​et område, der indeholder data.
At finde begyndelsen af ​​dataene.
Automatisk udskiftning af værdier.
Hurtig udfyldning af et område (array).
Udfyldning gennem interval (array).
Udfylder det angivne område (array).
Udfyld området (array).
Beregning af summen af ​​de første værdier i området.
Placering i en celle i et elektronisk ur.
"Alarm".
Design af sortimentets øvre og nedre grænser.
Aktiv celleadresse.
Koordinater for den aktive celle.
Aktiv celleformel.
Få en formel fra en celle.
Celledatatype.
Udskriv adressen for slutningen af ​​området.
Indhentning af information om det valgte område.
Tag ordet med det 13. tegn i cellen.
Skabelse foranderlig liste(bord).
Tjek for tom værdi.
Celle skæring.
Multiplicer det valgte område med.
Multiplicer samtidig alle data i et interval.
Opdel rækkevidden i.
Kvadring af hver celle i området.
Opsummerer kun data fra synlige celler.
Summen af ​​celler med numeriske værdier.
Ved summering er markøren inden for området.

Rentetilskrivning afhængig af beløbet.
Rentetilskrivning afhængig af beløbet.
Sammenfattende eksempel på provisionsberegning.
Bevægelse langs banen.
Forskydning fra den valgte celle.
Gentag gennem celler ned i kolonnen.
Oprettelse af et områdeudfyldning.
Valg af en celleparameter.
Rækkeviddeopdeling.
Flet områdedata.
Flet områdedata.
Find ud af den maksimale kolonne eller række.
Begrænsning af de mulige områdeværdier.
Test af læse- og skrivehastigheder.
Åbn MsgBox, når en celle er valgt.
Skjuler en række.
Skjuler flere rækker.
Skjuler en kolonne.
Skjuler flere kolonner.
Skjuler en række efter cellenavn.
Skjuler flere rækker efter celleadresser.
Skjuler en kolonne efter cellenavn.
Skjuler flere kolonner efter celleadresser.
Celle blinker.
Arbejde med noter.
Viser alle noterne i regnearket.
Kommentarudtrækningsfunktion.
Liste over noter til beskyttede ark.

Liste over noter i en separat liste.
Liste over noter i en separat liste.

Tæller antallet af sedler.
Tæller sedler.
Vælg celler med kommentarer.
Vis alle noter.
Skift farve på noter.
Tilføjelse af noter.
Tilføjelse af noter til et område baseret på tilstand.
Flyt en kommentar til en celle og tilbage.

Overførsel af værdier fra en celle til en kommentar.
Brugerdefinerede faner på båndet.
Tilføjelse af værktøjslinje.
Tilføjelse af en knap til værktøjslinjen.
Panel med én knap.
Panel med to knapper.
Oprettelse af et panel til højre.

Oprettelse af en brugerdefineret menu (mulighed 1).
Oprettelse af en brugerdefineret menu (mulighed 2).
Oprettelse af en brugerdefineret menu (mulighed 3).
Oprettelse af en brugerdefineret menu (mulighed 4).
Oprettelse af en brugerdefineret menu (mulighed 5).
Oprettelse af en brugerdefineret menu (mulighed 6).
Oprettelse af en liste over hovedmenupunkter i Excel.
Oprettelse af en liste over genvejsmenupunkter.
Vis værktøjslinjen under en bestemt betingelse.
Skjuler og viser værktøjslinjer.
Opret et værktøjstip til mine knapper.
Opret en menu baseret på regnearksdata.
Oprettelse af en kontekstmenu.
Blokering af kontekstmenuen.
Tilføjelse af en kommando til menuen Værktøjer.
Tilføjelse af en kommando til menuen Vis.
Oprettelse af et listepanel.
En tegneserie med en assistent i hovedrollen.
Tilføj tekst, titel, knap og ikon til assistenten.
Nye muligheder for assistent.
Brug af assistenten til at vælge en fyldfarve.
DIALOG WINDOWS.
INPUTBOX-funktion (via værdiinput).
Forhåndsvisning af opkald.
Opsætning af dataindtastning i dialogboksen.

Åbner dialogboksen (Åbn fil).
Åbner dialogboksen (Udskriv).
Andre dialogbokse.
Opkald til browseren fra Excel.
Dataindtastningsdialogboks.
Dialogboksen Skrifttypeindstillinger.
Standardværdier.
Tekstformatering. Tabeller. GRÆNSER OG FYLD.
Viser en liste over tilgængelige skrifttyper.
Valg af alle tal fra teksten.
Skriv kun stort i begyndelsen af ​​teksten.
Optælling af antallet af gentagelser af søgeteksten.
Valg af et vilkårligt element fra teksten.
Vis tekst baglæns.
Engelsk tekst er med store bogstaver.
Lancering af en symboltabel fra Excel.
oplysninger om brugeren, computeren, printeren mv.
Få brugernavn.
Monitor opløsning output.
Få oplysninger om den printer, du bruger.
Se oplysninger om din computers drev.
BRUGERFORMER.
DIAGRAMMER.
Opbygning af et diagram ved hjælp af en makro.
Gemmer diagrammet i en separat fil.
Byg og slet et diagram med et klik på en knap.
Vis en liste over diagrammer i et separat vindue.
Anvendelse af en tilfældig farvepalet.
Diagramgennemsigtighedseffekt.
Konstruer et diagram baseret på data fra flere regneark.
Opret billedtekster til diagramdata.
FORSKELLIGE PROGRAMMER.
Program til at skrive krydsord.
Lav et DVD-cover.
Spil "Minefelt".
Spil "Gæt dyret."
Beregning baseret på celler af en bestemt farve.
ANDRE FUNKTIONER OG MAKROER.
Kalder funktionstaster.
Beregning af det aritmetiske gennemsnit.
Konvertering af tal til "penge".
Søg efter den nærmeste mandag.
Tæller antallet af hele år.
Beregning af det vægtede gennemsnit.
Konvertering af månedsnummer til dets navn.
Brug af relative links.
Konvertering af en Excel-tabel til HTML-format.
Generator af tilfældige tal.
Tilfældige tal - baseret på rækkevidde.
Anvendelse af en funktion uden at indtaste den i en celle.
Optælling af navngivne objekter.
Aktivering af et autofilter ved hjælp af en makro.
Oprettelse af en krybende linje.
Oprettelse af et løbende billede.
Roterende autofigurer.
Kalder farvetabellen.
Oprettelse af en lommeregner.
Bøjning af efternavn, fornavn og patronym.
DATO OG TID.
Output dato og klokkeslæt.
Output dato og klokkeslæt.
Henter systemdatoen.
Henter dato og timer.
Funktion DateFull. Den anvendte version af MS Office er ikke angivet.

Selvom du ikke ved noget om VBA og makroer, vil du blive inspireret til at lære mere efter at have læst nogle af tricks og tricks i denne del. Hvis du lige er begyndt at arbejde med makroer, kan du finde nyttig information her.

. .

I tidligere artikler så du, hvordan Excel kan administrere andre Microsoft applikationer såsom Word og Outlook. Men samtidig kan andre applikationer også bruges til at administrere Excel. For eksempel skrev du en makro til Word eller Access, der opretter en Excel-tabel, fylder den med data og derefter gemmer den. Excel behøver ikke nødvendigvis at [...]

. .

Du kan bruge denne teknologi til Microsoft ledelse Outlook og send e-mails direkte fra dit regneark eller kopier dine notesbogsposter. Selvfølgelig, Excel funktioner er sådan, at men e-mail tabellen vil blive sendt, men denne metode giver dig kun mulighed for at sende en del af tabellen. For at denne kode kan fungere, skal du have […]

. .

Denne metode kan være meget nyttig, hvis du for eksempel har standard dokument med tabeller fyldt med datamakroer fra Excel tabeller. Du kan køre makroen, og dataene vil blive overført til tabellerne i Word dokument. For nylig havde jeg til opgave at skrive et program til at udfylde en rapport om SLA (Service Level Agreement). Rapporter […]

. .

Makroer bruges ofte til at automatisere driften af ​​applikationer. Enhver makro er en sekvens af handlinger optaget under et bestemt navn. Hvis når man arbejder med Microsoft Excel der er behov for at udføre den samme sekvens af operationer flere gange (f.eks. kompleks formatering af den aktuelle celle eller tilføjelse ny linje ved at fylde nogle af sine celler med formler), så kan du skrive disse handlinger ned, og [...]

Få mennesker ved, at den første version af den populære Microsoft produkt Excel udkom i 1985. Siden da har den gennemgået adskillige ændringer og er efterspurgt blandt millioner af brugere over hele verden. Samtidig arbejder mange mennesker kun med en lille brøkdel af mulighederne i denne regnearksprocessor og er ikke engang klar over, hvordan evnen til at programmere i Excel kunne gøre deres liv lettere.

Hvad er VBA

Programmering i Excel udføres ved hjælp af sproget Visuel programmering Basic for Application, som oprindeligt er indbygget i den mest kendte bordprocessor fra Microsoft.

Eksperter tilskriver dens relative lette læring til dens fordele. Som praksis viser, kan selv brugere, der ikke har professionelle programmeringsevner, mestre det grundlæggende i VBA. Funktioner i VBA omfatter scriptudførelse i et kontorapplikationsmiljø.

Ulempen ved programmet er kompatibilitetsproblemer forskellige versioner. De er forårsaget af det faktum, at VBA-programkoden tilgår funktionalitet, som er til stede i ny version produkt, men mangler i den gamle. Ulemperne omfatter også den alt for høje åbenhed af koden for ændringer af en udenforstående. alligevel Microsoft Office, samt IBM Lotus Symphony, giver brugeren mulighed for at kryptere den oprindelige kode og indstille en adgangskode for at se den.

Objekter, samlinger, egenskaber og metoder

Det er de begreber, der skal forstås af dem, der skal arbejde i VBA-miljøet. Først og fremmest skal du forstå, hvad et objekt er. I Excel er disse funktioner ark, projektmappe, celle og område. Disse objekter har et særligt hierarki, dvs. adlyde hinanden.

Den vigtigste er Application, som svarer til Excel program. Så kommer arbejdsbøger, arbejdsark og rækkevidde. For at få adgang til celle A1 på et specifikt regneark skal du f.eks. angive en sti, der tager højde for hierarkiet.

Hvad angår begrebet "samling", er dette en gruppe af objekter af samme klasse, som i indgangen har formen ChartObjects. Hende individuelle elementer er også genstande.

Det næste koncept er egenskaber. De er en nødvendig egenskab for ethvert objekt. For eksempel er det for Range Værdi eller Formel.

Metoder er kommandoer, der angiver, hvad der skal gøres. Når du skriver kode i VBA, skal de adskilles fra objektet med et punktum. For eksempel, som det vil blive vist senere, meget ofte ved programmering i Excel, bruges kommandoen Cells(1,1).Select. Det betyder, at du skal vælge en celle med koordinater

Selection.ClearContents bruges ofte sammen med det. At udføre dette betyder at rydde indholdet af den valgte celle.

Sådan starter du

Derefter skal du gå til VB-applikationen, hvor du blot skal bruge tastekombinationen "Alt" og "F11". Yderligere:

  • i menulinjen øverst i vinduet, klik på ikonet ved siden af ​​Excel-ikonet;
  • vælg kommandoen Mudule;
  • gem ved at klikke på ikonet med billedet;
  • de skriver, lad os sige, et udkast til koden.

Det ser sådan ud:

Underprogram()

"Vores kode

Bemærk venligst, at linjen "Vores kode" vil blive fremhævet i en anden farve (grøn) Årsagen er apostrof placeret i begyndelsen af ​​linjen, hvilket indikerer, at der følger en kommentar.

Nu kan du skrive en hvilken som helst kode og oprette til dig selv nyt værktøj V VBA Excel(se eksempler på programmer nedenfor). Selvfølgelig for dem, der er fortrolige med det grundlæggende Visual Basic, vil det være meget nemmere. Men selv dem, der ikke har dem, kan hurtigt nok vænne sig til det, hvis de ønsker det.

Makroer i Excel

Dette navn skjuler programmer skrevet i Visuelt sprog Grundlæggende til applikation. Programmering i Excel er således at skabe makroer med den nødvendige kode. Takket være denne funktion, tabellen Microsoft processor udvikler sig selv, tilpasser sig kravene fra en bestemt bruger. Efter at have fundet ud af, hvordan du opretter moduler til at skrive makroer, kan du begynde at overveje konkrete eksempler VBA programmer Excel. Det er bedst at starte med de mest grundlæggende koder.

Eksempel 1

Opgave: Skriv et program, der kopierer værdien af ​​indholdet af en celle og derefter skriv det til en anden.

For det:

  • åbne fanen "Vis";
  • gå til "Makroer"-ikonet;
  • klik på "Optag makro";
  • udfyld formularen, der åbner.

For nemheds skyld skal du lade "Macro1" stå i feltet "Makronavn" og indsætte f.eks. hh i feltet "Tastaturgenvej" (det betyder, at du kan starte programmet med hurtigkommandoen "Ctrl+h"). Tryk på Enter.

Nu hvor makrooptagelsen allerede er startet, kopieres indholdet af en celle til en anden. Vend tilbage til det originale ikon. Klik på "Optag makro". Denne handling betyder afslutningen på programmet.

  • gå tilbage til "Makroer"-linjen;
  • vælg "Makro 1" fra listen;
  • klik på "Kør" (den samme handling startes ved at starte tastekombinationen "Ctrl+hh").

Som følge heraf opstår den handling, der blev udført under optagelsen af ​​makroen.

Det giver mening at se, hvordan koden ser ud. For at gøre dette skal du gå tilbage til linjen "Makroer" og klikke på "Skift" eller "Login". Som et resultat befinder de sig i VBA-miljøet. Faktisk er selve makrokoden placeret mellem linjerne Sub Macro1() og End Sub.

Hvis kopiering blev udført, for eksempel fra celle A1 til celle C1, så vil en af ​​kodelinjerne se ud som Range ("C1"). Vælg. Oversat ser det ud som "Range("C1"). Vælg, med andre ord går det til VBA Excel, til celle C1.

Den aktive del af koden fuldføres af kommandoen ActiveSheet.Paste. Det betyder at optage indholdet af den valgte celle (i I dette tilfælde A1) til den valgte celle C1.

Eksempel 2

VBA-løkker hjælper dig med at oprette forskellige makroer i Excel.

VBA-løkker hjælper dig med at oprette forskellige makroer. Antag, at vi har en funktion y=x + x 2 + 3x 3 - cos(x). Du skal oprette en makro for at få dens graf. Dette kan kun gøres ved hjælp af VBA-løkker.

De indledende og endelige værdier af funktionsargumentet er x1=0 og x2=10. Derudover skal du indtaste en konstant - værdien for argumentændringstrinnet og startværdien for tælleren.

Alle eksempler VBA makroer Excel oprettes ved at bruge samme procedure som præsenteret ovenfor. I dette særlige tilfælde ser koden sådan ud:

Underprogram()

trin = 0,1

Gør mens x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

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

Celler(i, 1).Værdi = x1 (værdien x1 skrives til cellen med koordinater (i,1))

Celler(i, 2).Værdi = y (y-værdien skrives til cellen med koordinater (i,2))

i = i + 1 (tæller er i kraft);

x1 = x1 + shag (argumentet ændres med trinværdien);

Slut Sub.

Som et resultat af at køre denne makro i Excel får vi to kolonner, hvoraf den første indeholder værdierne for x, og den anden for y.

Derefter bygges en graf ud fra dem på en standard måde for Excel.

Eksempel 3

For at implementere loops i VBA Excel 2010, som i andre versioner, sammen med den allerede givne Do While-konstruktion, bruges For.

Overvej et program, der vil oprette en kolonne. I hver af dens celler vil kvadraterne af det tilsvarende rækkenummer blive skrevet. Ved at bruge For-konstruktionen kan du skrive den meget kort, uden at bruge en tæller.

Først skal du oprette en makro som beskrevet ovenfor. Dernæst skriver vi selve koden ned. Vi antager, at vi er interesserede i værdierne for 10 celler. Koden ser sådan ud.

For i = 1 til 10 Næste

Kommandoen er oversat til "menneskeligt" sprog som "Gentag fra 1 til 10 i trin af et."

Hvis opgaven er at få en kolonne med kvadrater, for eksempel af alle ulige tal fra intervallet 1 til 11, så skriver vi:

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

Her er trin et trin. I dette tilfælde er det lig med to. Som standard betyder fraværet af dette ord i cyklussen, at trinnet er enkelt.

De opnåede resultater skal gemmes i celler nummereret (i,1). Derefter, hver gang løkken startes, med i øget med et trinstørrelse, vil rækkenummeret automatisk stige. På denne måde vil koden blive optimeret.

Overordnet ser koden sådan ud:

Underprogram()

For i = 1 til 10 Trin 1 (du kan blot skrive For i = 1 til 10)

Celler(i, 1).Værdi = i ^ 2 (dvs. værdien af ​​kvadrat i skrives til celle (i,1)

Dernæst (spiller i en vis forstand rollen som en tæller og betyder endnu en start på løkken)

Slut Sub.

Hvis alt er gjort korrekt, inklusive optagelse og kørsel af makroen (se instruktionerne ovenfor), så vil du, når du kalder den, få en kolonne hver gang given størrelse(i dette tilfælde bestående af 10 celler).

Eksempel 4

I Hverdagen Ganske ofte opstår behovet for at træffe den ene eller anden beslutning afhængigt af en eller anden betingelse. Du kan ikke undvære dem i VBA Excel. Eksempler på programmer, hvor det videre forløb for udførelse af algoritmen er valgt og ikke forudbestemt indledningsvis, bruger oftest If...Then-konstruktionen (f.eks. komplekse sager) Hvis...Så...SLUT Hvis.

Lad os overveje konkret sag. Antag, at du skal oprette en makro til Excel, så følgende er skrevet i cellen med koordinater (1,1):

1 hvis argumentet er positivt;

0 hvis argumentet er null;

-1 hvis argumentet er negativt.

Oprettelsen af ​​en sådan makro til Excel begynder på en standard måde, gennem brug af "hot" Alt-tasterne og F11. Dernæst skrives følgende kode:

Underprogram()

x= Celler(1, 1).Værdi (denne kommando tildeler x værdien af ​​cellens indhold ved koordinaterne (1, 1))

Hvis x>0, så Celler(1, 1). Værdi = 1

Hvis x=0, så Celler(1, 1).Værdi = 0

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

Slut Sub.

Tilbage er kun at køre makroen og få den nødvendige værdi for argumentet i Excel.

VBA funktioner

Som du måske allerede har bemærket, er programmering i Microsofts mest berømte regnearksprocessor ikke så svært. Især hvis du lærer at bruge VBA-funktioner. I alt har dette programmeringssprog, der er skabt specielt til at skrive applikationer i Excel og Word, omkring 160 funktioner. De kan opdeles i flere store grupper. Det her:

  • Matematiske funktioner. Ved at anvende dem på argumentet opnår de værdien af ​​cosinus, naturlig logaritme, heltalsdel osv.
  • Økonomiske funktioner. Takket være deres tilgængelighed og ved hjælp af Excel-programmering kan du få effektive værktøjer til regnskabs- og økonomiske beregninger.
  • Array-behandlingsfunktioner. Disse omfatter Array, IsArray; LBundet; Ubundet.
  • Excel VBA-funktioner til streng. Dette er en ret stor gruppe. Dette inkluderer f.eks. funktionerne Space for at skabe en streng med antallet af mellemrum svarende til heltalsargumentet eller Asc til at konvertere tegn til ANSI-kode. De er alle meget udbredte og giver dig mulighed for at arbejde med rækker i Excel, hvilket skaber applikationer, der i høj grad letter arbejdet med disse tabeller.
  • Datatypekonverteringsfunktioner. For eksempel returnerer CVar værdien af ​​argumentet Udtryk ved at konvertere det til datatypen Variant.
  • Funktioner til at arbejde med datoer. De udvider standarden markant. Således returnerer funktionen WeekdayName navnet (helt eller delvist) på ugedagen efter dets nummer. Endnu mere nyttig er Timer. Det angiver antallet af sekunder, der er gået fra midnat til et bestemt tidspunkt på dagen.
  • Funktioner til at konvertere et numerisk argument til forskellige talsystemer. For eksempel udsender Oct tal i oktal.
  • Formateringsfunktioner. Den vigtigste af dem er Format. Det returnerer en Variant-værdi med et udtryk formateret i overensstemmelse med instruktionerne angivet i formaterklæringen.
  • etc.

At studere egenskaberne af disse funktioner og deres anvendelse vil betydeligt udvide omfanget af Excel.

Eksempel 5

Lad os prøve at gå videre til at løse mere komplekse problemer. For eksempel:

Der gives et papirdokument, der rapporterer virksomhedens faktiske omkostninger. Påkrævet:

  • udvikle sin skabelondel ved hjælp af Excel-regnearket;
  • oprette et VBA-program, der vil anmode om indledende data for at udfylde det, udføre de nødvendige beregninger og udfylde de tilsvarende skabelonceller med dem.

Lad os overveje en af ​​løsningsmulighederne.

Opret en skabelon

Alle handlinger udføres på et standardark i Excel. Frie celler er reserveret til at indtaste data om navnet på forbrugervirksomheden, størrelsen af ​​omkostningerne, deres niveau og omsætning. Da antallet af virksomheder (virksomheder), som rapporten udarbejdes for, ikke er fast, er cellerne til indtastning af værdier baseret på resultaterne og navnet på specialisten ikke reserveret på forhånd. Arbejdsarket får et nyt navn. For eksempel "rapporter".

Variabler

For at skrive et program til automatisk at udfylde en skabelon, skal du vælge notationer. Disse vil blive brugt til variabler:

  • NN - nummeret på den aktuelle tabelrække;
  • TP og TF - planlagt og faktisk handelsomsætning;
  • SF og SP - faktiske og planlagte omkostninger;
  • IP og IF - planlagt og faktisk omkostningsniveau.

Lad os betegne akkumuleringen af ​​totalen for denne kolonne med de samme bogstaver, men med "præfikset" Itog. For eksempel ItogTP - henviser til tabelkolonnen med titlen "planlagt omsætning".

Løsning af et problem ved hjælp af VBA-programmering

Ved hjælp af de indførte notationer får vi formler for afvigelser. Hvis du skal regne i %, har vi (F - P) / P * 100, og i alt - (F - P).

Resultaterne af disse beregninger kan bedst indtastes direkte i de relevante celler i et Excel-regneark.

For faktiske og forventede totaler opnås de ved hjælp af formlerne ItogP=ItogP + P og ItogF=ItogF+ F.

For afvigelser bruges = (ItogF - ItogP) / ItogP * 100, hvis beregningen udføres i procent, og i tilfælde af en samlet værdi - (ItogF - ItogP).

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

Før du kører det oprettede program, skal du gemme projektmappen, for eksempel under navnet "Report1.xls".

Knappen "Opret rapporteringstabel" skal kun trykkes én gang efter indtastning af headeroplysninger. Der er andre regler, du bør kende. Især skal knappen "Tilføj række" klikkes hver gang efter indtastning af værdier for hver type aktivitet i tabellen. Når du har indtastet alle data, skal du klikke på knappen "Udfør" og derefter skifte til Excel-vinduet.

Nu ved du, hvordan du løser Excel-problemer ved hjælp af makroer. Evnen til at bruge vba excel (se eksempler på programmer ovenfor) kan også være nødvendig for at arbejde i den mest populære teksteditor i øjeblikket, Word. Især kan du oprette menuknapper ved at skrive, som vist i begyndelsen af ​​artiklen, eller ved at skrive kode, takket være hvilken mange handlinger på tekst kan udføres ved at trykke på pligttasterne eller gennem fanen "Vis" og ikonet "Makroer".

Objekter såsom makroer i Excel hjælper dig med at organisere arbejdsprocessen i Excel korrekt.

Lad os se nærmere på alle funktionerne ved at arbejde med disse objekter i MS Office-softwarepakken.

Takket være brugen af ​​makroer kan hver celle i dit dokument automatiseres. Dette sker ved at give brugeren mulighed for at registrere alle handlinger, efterhånden som de oprettes.

Hvad er makroer, og hvorfor er de nødvendige?

Du kan arbejde med makroer i alle MS Office-programmerne. Først og fremmest er de nødvendige for at kunne organisere brugerens arbejde i programmet kompetent.

De er nødvendige for ikke at udføre den samme type opgaver og handlinger flere dusin gange.

Deres oprettelse og brug vil bidrage til betydeligt at spare tid og maksimere automatisering af robotten i programmet.

Vigtig! Takket være den oprettede makro kan du simpelthen få arbejdet gjort med det samme, mens det ville tage meget tid at gøre det manuelt.

Dens krop består i det væsentlige af instruktioner, der fortæller programmet, hvad det skal gøre, hvis brugerne vælger det ene eller det andet.

Du kan også støde på begrebet makro i Word, men i Excel har det flere fordele:

  • For det første kombinerer den alle instruktioner i ét komplet eksekveringsscript, som giver dig mulighed for at optimere belastningen på programmet og begynde at arbejde hurtigere;
  • Du kan kalde det ved at bruge en tast på værktøjslinjen eller ved at bruge en speciel tastekombination. Dette vil tillade brugeren ikke at slå op fra tastaturet, mens han arbejder;

Vi noterer os yderligere to artikler, der evtdu får brug for:

Oprettelse af dine egne makroer i Excel 2010, 2007, 2013

Lad os se nærmere på eksempler på oprettelse i Excel 2007, 2013:

  • Åbn det dokument, du arbejder med, og som du vil oprette en makro til. Forresten skal hver celle, som en handling udføres på, udarbejdes;
  • Vis udviklerfanen på båndet. For at gøre dette skal du åbne menupunktet "Filer" og åbne mulighederne som vist på figuren;

  • Vælg derefter båndindstillingen og tilføj udviklervinduet til listen over hovedvinduer, som vist på billedet nedenfor;

  • Nu kan du gå direkte videre til at oprette selve brugermakroen.
    Efter dens oprettelse vil hver celle blive automatiseret - det betyder, at enhver celle i brugerdokumentet vil udføre den samme type handling, som brugeren angiver;
  • Find en speciel nøgle til oprettelse i udviklerfanen. Dens placering er vist i figuren nedenfor;

  • Tryk på tasten. Et oprettelsesvindue vises, hvor du skal angive et navn og en tastekombination, som den vil blive aktiveret med. Du kan også tilføje en kort beskrivelse af, hvordan makroen fungerer.
    Dette skal gøres, hvis du har for mange af dem, for ikke at blive forvirret;

  • Klik derefter på OK. Vinduet lukkes, og optagelsesprocessen begynder. For at stoppe optagelsen skal du trykke på den tilsvarende tast på kontrolpanelet;

  • Begynd nu at udføre de handlinger, der vil blive optaget i makroen. Hver celle kan fyldes med bestemte data.
    Du kan også arbejde med kun én celle, efter optagelse og aktivering af makroen vil den samme celle blive optaget i henhold til den specificerede algoritme;
  • Glem ikke at trykke på knappen Stop dataoptagelse. Efter at have gennemført alle ovenstående trin, vil det blive optaget og gemt i programmet.

Sådan aktiverer og arbejder du med makroer i Excel

For at gøre dette skal du følge instruktionerne nedenfor:

  • På udviklerfanen skal du finde en knap kaldet Makroer. Klik på den;

  • Vælg den makro, du har brug for, fra listen, og klik på knappen "Kør";

  • Du kan også køre den påkrævede makro ved hjælp af den tastaturgenvej, der blev angivet af brugeren i den indledende fase af dens oprettelse;
  • Efter at have klikket på udfør-knappen, vil alle handlinger, der blev udført under optagelsen, blive udført igen.

Makroen er mest praktisk at bruge, når en bestemt celle skal kopieres mange gange.

Følgende simple Excel-makroeksempler illustrerer nogle af de funktioner og teknikker, der er beskrevet i Excel VBA-selvstudiet.

Excel-makro: Eksempel 1

I første omgang denne procedure Sub blev givet som et eksempel på brug af kommentarer i VBA-kode. Her kan du dog også se, hvordan variable er deklareret, hvordan Excel-cellereferencer fungerer, og brugen af ​​en loop Til, betinget operatør Hvis og viser et meddelelsesvindue.

"Sub-proceduren søger efter en celle, der indeholder den angivne streng "i celleområdet A1:A100 i det aktive ark Sub Find_String(sFindText As String) Dim i As Integer "Et heltal af typen Integer, brugt i en For-løkke Dim iRowNumber Som heltal "Et heltal af typen heltal til lagring af resultatet iRowNumber = 0 "Ser gennem cellerne A1:A100 en efter en, indtil strengen er fundet sFindText For i = 1 Til 100 If Cells(i, 1).Value = sFindText Then " Hvis der findes et match til den angivne streng ", gem nummeret på den aktuelle række og forlad sløjfen For iRowNumber = i Afslut For End If Next i "Informer brugeren i et pop-up-vindue, om den ønskede række er blevet fundet "Hvis den angivne række er fundet, angiv i hvilken celle matchet er fundet Hvis iRowNumber = 0 Så MsgBox "Row" & sFindText & " not found" Else MsgBox "Row " & sFindText & " found in cell A" & iRowNumber End If End Sub

Excel-makro: Eksempel 2

Næste procedure Sub– eksempel på brug af en løkke Gøre imens. Du kan også se, hvordan variabler erklæres, arbejde med Excel-cellereferencer og bruge en betinget sætning. Hvis.

"Sub-proceduren udsender Fibonacci-tal, der ikke overstiger 1000 Sub Fibonacci() Dim i As Integer "En tæller til at angive positionen af ​​et element i sekvensen Dim iFib As Integer "Gemmer den aktuelle værdi af sekvensen Dim iFib_Next As Integer "Gemmer næste værdi af sekvensen Dim iStep Som heltal "Gemmer størrelsen af ​​det næste trin "Initialiser variablerne i og iFib_Next i = 1 iFib_Next = 0 "Do While-løkken vil blive udført, indtil værdien af ​​det "aktuelle Fibonacci-tal overstiger 1000 Do While iFib_Næste< 1000 If i = 1 Then "Особый случай для первого элемента последовательности iStep = 1 iFib = 0 Else "Сохраняем размер следующего приращения перед тем, как перезаписать "текущее значение последовательности iStep = iFib iFib = iFib_Next End If "Выводим текущее число Фибоначчи в столбце A активного рабочего листа "в строке с индексом i Cells(i, 1).Value = iFib "Вычисляем следующее число Фибоначчи и увеличиваем индекс позиции элемента на 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

Excel-makro: Eksempel 3

Denne procedure Sub scanner cellerne i en kolonne EN aktivt ark, indtil det støder på en tom celle. Værdierne skrives til et array. Denne simple Excel-makro viser arbejde med dynamiske arrays samt brug af en loop Gør indtil. I dette eksempel vil vi ikke udføre nogen handlinger med arrayet, selvom i virkelig programmeringspraksis, efter at data er skrevet til arrayet, udføres sådanne handlinger normalt på dem.

"Sub-proceduren gemmer celleværdierne i kolonne A i det aktive ark i arrayet Sub GetCellValues() Dim iRow As Integer "Gemmer nummeret på den aktuelle række Dim dCellValues() As Double "En matrix til lagring af celleværdierne ​​iRow = 1 ReDim dCellValues(1 Til 10) "Do Loop Until itererer sekventielt gennem cellerne i kolonne A på det aktive ark" og udtrækker deres værdier i en matrix, indtil en tom celle stødes på Do Until IsEmpty(Cells( iRow, 1)) "Tjek, at dCellValues-arrayet er af tilstrækkelig størrelse "Hvis ikke, øg størrelsesarrayet med 10 ved hjælp af ReDim If UBound(dCellValues)< iRow Then ReDim Preserve dCellValues(1 To iRow + 9) End If "Сохраняем значение текущей ячейки в массиве dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop End Sub

Excel-makro: Eksempel 4

I dette eksempel er proceduren Sub læser værdier fra en kolonne EN arbejdsark Ark 2 og udfører aritmetiske operationer på dem. Resultaterne indtastes i kolonnecellerne EN på det aktive arbejdsark. Denne makro demonstrerer brugen af ​​Excel-objekter. I særdeleshed udføres klagen af ​​proceduren Sub til objektet Kolonner, og viser, hvordan dette objekt tilgås gennem objektet Arbejdsark. Det er også vist, at når du får adgang til en celle eller et celleområde på det aktive ark, er det ikke nødvendigt at angive navnet på dette ark, når du skriver linket.

"Sub-proceduren, ved hjælp af en loop, læser værdierne i kolonne A i regnearket Sheet2, "udfører aritmetiske operationer med hver værdi og skriver resultatet til "kolonne A i det aktive regneark (Sheet1) Sub Transfer_ColA() Dim i Som heltal Dim Col As Range Dim dVal As Double "Tildel til variabel Col kolonne A i regneark 2 Indstil Col = Sheets("Sheet2"). Kolonner("A") i = 1 "Ved hjælp af en loop læser vi værdierne ​​af cellerne i kolonne Col indtil "indtil en tom celle stødes på Gør indtil IsEmpty(Col.Cells(i)) "Udfør aritmetiske operationer på værdien af ​​den aktuelle celle dVal = Col.Cells(i).Værdi * 3 - 1 "Følgende kommando skriver resultatet til kolonne A i det aktive regneark" Angiv arknavnet i linket ikke nødvendigt, da dette er det aktive blad Cells(i, 1) = dVal i = i + 1 Loop End Sub

Excel-makro: Eksempel 5

Denne makro viser et eksempel på VBA-kode, der overvåger en Excel-hændelse. Hændelsen, som makroen er knyttet til, opstår, hver gang en celle eller et celleområde vælges på regnearket. I vores tilfælde, når du vælger en celle B1, vises et meddelelsesvindue på skærmen.

"Denne kode viser en beskedboks, hvis celle B1 er valgt på det aktuelle regneark. Private Sub Worksheet_SelectionChange(ByVal Target As Range) "Tjek, om celle B1 er valgt, hvis Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Derefter "Hvis celle B1 er valgt, udfør den nødvendige handling MsgBox "Du har valgt celle B1" End If End Sub

Excel-makro: Eksempel 6

Denne procedure illustrerer brugen af ​​operatører Ved fejl Og Genoptag til fejlhåndtering. Denne kode viser også et eksempel på åbning og læsning af data fra en fil.

"Sub-proceduren tildeler argumenterne Val1 og Val2 værdierne af celler A1 og B1" fra projektmappen Data.xlsx, der er placeret i mappen C:\Documents and Settings Sub Set_Values(Val1 As Double, Val2 As Double) Dim DataWorkbook As Arbejdsbog ved fejl GoTo ErrorHandling " Åbn projektmappen med datasættet DataWorkbook = Workbooks.Open("C:\Documents and Settings\Data") "Tildel variablerne Val1 og Val2 værdier fra den givne projektmappe Val1 = Sheets("Sheet1 ").Cells(1, 1) Val2 = Sheets("Sheet1").Cells(1, 2) DataWorkbook.Close Exit Sub ErrorHandling: "Hvis filen ikke findes, vil brugeren blive bedt om at placere den søgte fil " i den ønskede mappe, og fortsæt derefter med at udføre MsgBox-makroen "Data.xlsx-filen er ikke fundet!" & _ "Føj venligst projektmappen til mappen C:\Documents and Settings og klik på OK" Genoptag End Sub