Sådan opretter du dit eget tilføjelsesprogram til Microsoft Excel

Selvom du ikke ved, hvordan du programmerer, er der mange steder (bøger, hjemmesider, fora), hvor du kan finde færdiglavet VBA-makrokode til et stort antal typiske opgaver i Excel. Det er min erfaring, at de fleste brugere før eller siden samler deres personlige samling af makroer for at automatisere rutineprocesser, uanset om det er at oversætte formler til værdier, vise summer i ord eller summere celler efter farve. Og her opstår problemet – makrokoden i Visual Basic skal gemmes et sted for at kunne bruges senere i arbejdet.

Den nemmeste mulighed er at gemme makrokoden direkte i arbejdsfilen ved at gå til Visual Basic-editoren ved hjælp af tastaturgenvejen andre+F11 og tilføje et nyt tomt modul via menuen Indsæt – Modul:

Der er dog flere ulemper ved denne metode:

  • Hvis der er mange arbejdsfiler, og en makro er nødvendig overalt, såsom en makro til at konvertere formler til værdier, så bliver du nødt til at kopiere koden i hver bog.
  • Må ikke glemmes gem filen i makroaktiveret format (xlsm) eller i binært bogformat (xlsb).
  • Når du åbner en sådan fil makro beskyttelse vil hver gang udsende en advarsel, der skal anerkendes (nå, eller deaktiver beskyttelsen helt, hvilket måske ikke altid er ønskeligt).

En mere elegant løsning ville være at skabe dit eget tilføjelsesprogram (Excel-tillæg) – en separat fil i et særligt format (xlam), der indeholder alle dine "favorit" makroer. Fordelene ved denne tilgang:

  • Det bliver nok tilslutte tilføjelse én gang i Excel – og du kan bruge dens VBA-procedurer og funktioner i enhver fil på denne computer. Det er derfor ikke nødvendigt at gemme dine arbejdsfiler i xlsm- og xlsb-formater, fordi. kildekoden vil ikke blive gemt i dem, men i tilføjelsesfilen.
  • Beskyttelse du vil heller ikke blive generet af makroer. tilføjelser er per definition betroede kilder.
  • Kan gøre separat fane på Excel-båndet med flotte knapper til at køre tilføjelsesmakroer.
  • Tilføjelsesprogrammet er en separat fil. Hans nem at bære fra computer til computer, del den med kolleger eller sælg den 😉

Lad os gennemgå hele processen med at oprette dit eget Microsoft Excel-tilføjelsesprogram trin for trin.

Trin 1. Opret en tilføjelsesfil

Åbn Microsoft Excel med en tom projektmappe og gem den under et passende navn (f MyExcelAddin) i tilføjelsesformat med kommandoen Fil – Gem som eller nøgler F12, med angivelse af filtypen Excel-tilføjelse:

Bemærk venligst, at Excel som standard gemmer tilføjelser i mappen C:UsersYour_nameAppDataRoamingMicrosoftAddIns, men i princippet kan du angive enhver anden mappe, der er praktisk for dig.

Trin 2. Vi forbinder det oprettede tilføjelsesprogram

Nu tilføjelsen, vi oprettede i det sidste trin MyExcelAddin skal være tilsluttet Excel. For at gøre dette skal du gå til menuen Fil – Indstillinger – Tilføjelser (Fil — Indstillinger — Tilføjelsesprogrammer), klik på knappen Om (Gå) nederst i vinduet. Klik på knappen i det vindue, der åbnes anmeldelse (Gennemse) og angiv placeringen af ​​vores tilføjelsesfil.

Hvis du gjorde alt rigtigt, så vores MyExcelAddin skal vises på listen over tilgængelige tilføjelser:

Trin 3. Tilføj makroer til tilføjelsesprogrammet

Vores tilføjelsesmodul er forbundet til Excel og fungerer med succes, men der er ikke en eneste makro i det endnu. Lad os fylde det op. For at gøre dette skal du åbne Visual Basic-editoren med tastaturgenvejen andre+F11 eller med knappen Visual Basic fanen developer (Udvikler). Hvis faner developer ikke synlig, kan den vises igennem Fil – Indstillinger – Opsætning af bånd (Fil — Indstillinger — Tilpas bånd).

Der skal være et vindue i øverste venstre hjørne af editoren Projekt (hvis det ikke er synligt, så tænd det gennem menuen Vis — Project Explorer):

Dette vindue viser alle åbne projektmapper og kørende Microsoft Excel-tilføjelser, inklusive vores. VBAProject (MyExcelAddin.xlam) Vælg det med musen og tilføj et nyt modul til det via menuen Indsæt – Modul. I dette modul gemmer vi VBA-koden for vores tilføjelsesmakroer.

Du kan enten skrive koden fra bunden (hvis du ved, hvordan man programmerer), eller kopiere den fra et færdiglavet sted (hvilket er meget nemmere). Lad os, til test, indtaste koden for en simpel, men nyttig makro i det tilføjede tomme modul:

Efter indtastning af koden, glem ikke at klikke på gem-knappen (diskette) i øverste venstre hjørne.

Vores makro FormlerToValues, som du nemt kan forestille dig, konverterer formler til værdier i et forudvalgt område. Nogle gange kaldes disse makroer også procedurer. For at køre det skal du markere celler med formler og åbne en speciel dialogboks Makroer fra fanen developer (Udvikler – Makroer) eller tastaturgenvej andre+F8. Normalt viser dette vindue tilgængelige makroer fra alle åbne projektmapper, men tilføjelsesmakroer er ikke synlige her. På trods af dette kan vi indtaste navnet på vores procedure i feltet makro navn (Makronavn)og klik derefter på knappen Kør (løb) – og vores makro vil virke:

    

Her kan du også tildele en tastaturgenvej til hurtigt at starte en makro – knappen er ansvarlig for dette parametre (Muligheder) i det forrige vindue Makro:

Når du tildeler taster, skal du huske på, at der skelnes mellem store og små bogstaver og tastaturlayout. Så hvis du tildeler en kombination som Ctrl+Й, så skal du faktisk i fremtiden sørge for at have layoutet slået til og trykke yderligere Flyttefor at få det store bogstav.

For nemheds skyld kan vi også tilføje en knap til vores makro til hurtig adgangsværktøjslinjen i øverste venstre hjørne af vinduet. For at gøre dette skal du vælge Fil – Indstillinger – Hurtig adgangsværktøjslinje (Fil — Indstillinger — Tilpas værktøjslinjen Hurtig adgang), og derefter i rullelisten øverst i vinduet muligheden Makroer. Derefter vores makro FormlerToValues kan placeres på panelet med knappen Tilføj (Tilføj) og vælg et ikon for det med knappen Skift (Edit):

Trin 4. Tilføj funktioner til tilføjelsen

Men makro-procedurer, der er også funktionsmakroer eller som de hedder UDF (Brugerdefineret funktion = brugerdefineret funktion). Lad os oprette et separat modul i vores tilføjelse (menukommando Indsæt – Modul) og indsæt koden for følgende funktion der:

Det er let at se, at denne funktion er nødvendig for at trække moms af beløbet inklusive moms. Ikke Newtons binomiale, selvfølgelig, men det vil gøre for os som eksempel at vise de grundlæggende principper.

Bemærk, at syntaksen for en funktion er forskellig fra en procedure:

  • konstruktion anvendes Funktion…. Afslut funktion i stedet Sub … End Sub
  • efter navnet på funktionen er dens argumenter angivet i parentes
  • i funktionens krop udføres de nødvendige beregninger og derefter tildeles resultatet til en variabel med navnet på funktionen

Bemærk også, at denne funktion ikke er nødvendig, og det er umuligt at køre som den forrige makroprocedure gennem dialogboksen Makroer og knappen Kør. En sådan makrofunktion skal bruges som en standard regnearksfunktion (SUM, HVIS, VLOOKUP...), dvs. indtast blot i en hvilken som helst celle, og angiv værdien af ​​beløbet med moms som argument:

… eller gå ind gennem standarddialogboksen for at indsætte en funktion (knap fx i formellinjen), ved at vælge en kategori Brugerdefineret (Brugerdefineret):

Det eneste ubehagelige øjeblik her er fraværet af den sædvanlige beskrivelse af funktionen nederst i vinduet. For at tilføje det skal du gøre følgende:

  1. Åbn Visual Basic Editor med en tastaturgenvej andre+F11
  2. Vælg tilføjelsesprogrammet i projektpanelet, og tryk på tasten F2for at åbne objektbrowservinduet
  3. Vælg dit tilføjelsesprojekt fra rullelisten øverst i vinduet
  4. Højreklik på den funktion, der vises, og vælg kommando Ejendomme.
  5. Indtast en beskrivelse af funktionen i vinduet Beskrivelse
  6. Gem tilføjelsesfilen og genstart excel.

Efter genstart skal funktionen vise beskrivelsen, vi indtastede:

Trin 5. Opret en tilføjelsesfane i grænsefladen

Den sidste, men ikke obligatoriske, men behagelige berøring vil være oprettelsen af ​​en separat fane med en knap til at køre vores makro, som vises i Excel-grænsefladen efter tilslutning af vores tilføjelse.

Oplysninger om de faner, der vises som standard, er indeholdt i bogen og skal formateres i en speciel XML-kode. Den nemmeste måde at skrive og redigere sådan kode på er ved hjælp af specielle programmer - XML-editorer. En af de mest bekvemme (og gratis) er Maxim Novikovs program Bånd XML Editor.

Algoritmen til at arbejde med det er som følger:

  1. Luk alle Excel-vinduer, så der ikke er nogen filkonflikt, når vi redigerer tilføjelses-XML-koden.
  2. Start Ribbon XML Editor-programmet og åbn vores MyExcelAddin.xlam-fil i det
  3. Med knap faner i øverste venstre hjørne skal du tilføje kodestykket til den nye fane:
  4. Du skal sætte tomme anførselstegn id vores fane og gruppe (alle unikke identifikatorer) og i label – navnene på vores fane og en gruppe knapper på den:
  5. Med knap . i venstre panel skal du tilføje en tom kode til knappen og tilføje tags til den:

    - etiket er teksten på knappen

    — imageMso — dette er det betingede navn på billedet på knappen. Jeg brugte et rødt knapikon kaldet AnimationCustomAddExitDialog. Navnene på alle tilgængelige knapper (og der er flere hundrede af dem!) kan findes på en lang række sider på internettet, hvis du søger på søgeordene "imageMso". Til at begynde med kan du gå her.

    onAction – dette er navnet på tilbagekaldsproceduren – en speciel kort makro, der kører vores hovedmakro FormlerToValues. Du kan kalde denne procedure, hvad du vil. Vi tilføjer det lidt senere.

  6. Du kan kontrollere rigtigheden af ​​alt det udførte ved at bruge knappen med et grønt flueben øverst på værktøjslinjen. Samme sted skal du klikke på knappen med en diskette for at gemme alle ændringer.
  7. Luk Ribbon XML Editor
  8. Åbn Excel, gå til Visual Basic-editoren og tilføj en tilbagekaldsprocedure til vores makro KillFormulasså den kører vores hovedmakro til at erstatte formler med værdier.
  9. Vi gemmer ændringerne, og vender tilbage til Excel, kontrollerer resultatet:

Det er alt – tilføjelsen er klar til brug. Fyld den med dine egne procedurer og funktioner, tilføj smukke knapper – og det bliver meget nemmere at bruge makroer i dit arbejde.

  • Hvad er makroer, hvordan bruger du dem i dit arbejde, hvor kan du hente makrokode i Visual Basic.
  • Sådan laver du en startskærm, når du åbner en projektmappe i Excel
  • Hvad er en personlig makrobog, og hvordan man bruger den

Giv en kommentar