Hur du skapar ditt eget tillägg för Microsoft Excel

Även om du inte vet hur du programmerar, finns det många ställen (böcker, webbplatser, forum) där du kan hitta färdig VBA-makrokod för ett stort antal typiska uppgifter i Excel. Enligt min erfarenhet samlar de flesta användare förr eller senare sin personliga samling av makron för att automatisera rutinprocesser, oavsett om det handlar om att översätta formler till värden, visa summor i ord eller summera celler efter färg. Och här uppstår problemet – makrokoden i Visual Basic måste lagras någonstans för att kunna användas senare i arbetet.

Det enklaste alternativet är att spara makrokoden direkt i arbetsfilen genom att gå till Visual Basic-redigeraren med kortkommandot andra+F11 och lägga till en ny tom modul via menyn Infoga – Modul:

Det finns dock flera nackdelar med denna metod:

  • Om det finns många arbetsfiler och ett makro behövs överallt, till exempel ett makro för att konvertera formler till värden, måste du kopiera koden i varje bok.
  • Får inte glömmas bort spara filen i makroaktiverat format (xlsm) eller i binärt bokformat (xlsb).
  • När du öppnar en sådan fil makroskydd kommer varje gång att utfärda en varning som måste bekräftas (nåja, eller inaktivera skyddet helt, vilket kanske inte alltid är önskvärt).

En mer elegant lösning vore att skapa ditt eget tillägg (Excel-tillägg) – en separat fil i ett speciellt format (xlam) som innehåller alla dina "favorit" makron. Fördelarna med detta tillvägagångssätt:

  • Det kommer att räcka ansluta tillägget en gång i Excel – och du kan använda dess VBA-procedurer och funktioner i vilken fil som helst på den här datorn. Att återspara dina arbetsfiler i xlsm- och xlsb-format är därför inte nödvändigt, eftersom. källkoden kommer inte att lagras i dem, utan i tilläggsfilen.
  • Skydd du kommer inte att störas av makron heller. tillägg är per definition pålitliga källor.
  • Kan göra separat flik på Excel-bandet med snygga knappar för att köra tilläggsmakron.
  • Tillägget är en separat fil. Hans lätt att bära från dator till dator, dela den med kollegor eller till och med sälj den 😉

Låt oss gå igenom hela processen med att skapa ditt eget Microsoft Excel-tillägg steg för steg.

Steg 1. Skapa en tilläggsfil

Öppna Microsoft Excel med en tom arbetsbok och spara den under ett lämpligt namn (till exempel MyExcelAddin) i tilläggsformat med kommandot Arkiv – Spara som eller nycklar F12, som anger filtypen Excel-tillägg:

Observera att Excel som standard lagrar tillägg i mappen C:UsersYour_nameAppDataRoamingMicrosoftAddIns, men i princip kan du ange vilken annan mapp som helst som passar dig.

Steg 2. Vi ansluter det skapade tillägget

Nu tillägget vi skapade i det sista steget MyExcelAddin måste vara ansluten till Excel. För att göra detta, gå till menyn Arkiv – Alternativ – Tillägg (Arkiv — Alternativ — Tillägg), klicka på knappen Om oss (Gå) längst ner i fönstret. Klicka på knappen i fönstret som öppnas översyn (Bläddra) och ange platsen för vår tilläggsfil.

Om du gjorde allt rätt, då vår MyExcelAddin bör visas i listan över tillgängliga tillägg:

Steg 3. Lägg till makron till tillägget

Vårt tillägg är kopplat till Excel och fungerar framgångsrikt, men det finns inte ett enda makro i det ännu. Låt oss fylla den. För att göra detta, öppna Visual Basic-redigeraren med kortkommandot andra+F11 eller med knappen Visual Basic fliken utvecklare (Utvecklaren). Om flikar utvecklare inte synlig, den kan visas genom Arkiv – Alternativ – Ribbon Setup (Arkiv — Alternativ — Anpassa menyfliksområdet).

Det bör finnas ett fönster i det övre vänstra hörnet av editorn Projekt (om det inte är synligt, slå på det via menyn Visa — Project Explorer):

Det här fönstret visar alla öppna arbetsböcker och körande Microsoft Excel-tillägg, inklusive vårt. VBAProject (MyExcelAddin.xlam) Välj den med musen och lägg till en ny modul till den via menyn Infoga – Modul. I den här modulen kommer vi att lagra VBA-koden för våra tilläggsmakron.

Du kan antingen skriva koden från början (om du vet hur man programmerar), eller kopiera den från någonstans färdig (vilket är mycket enklare). Låt oss för testning ange koden för ett enkelt men användbart makro i den tillagda tomma modulen:

Efter att ha angett koden, glöm inte att klicka på spara-knappen (disketten) i det övre vänstra hörnet.

Vårt makro FormlerToValues, som du lätt kan föreställa dig, konverterar formler till värden inom ett förvalt intervall. Ibland kallas även dessa makron förfaranden. För att köra det måste du markera celler med formler och öppna en speciell dialogruta Makron från fliken utvecklare (Utvecklare – Makron) eller kortkommandon andra+F8. Normalt visar det här fönstret tillgängliga makron från alla öppna arbetsböcker, men tilläggsmakron är inte synliga här. Trots detta kan vi ange namnet på vår procedur i fältet makronamn (Makronamn)och klicka sedan på knappen Körning (springa) – och vårt makro kommer att fungera:

    

Här kan du också tilldela en kortkommando för att snabbt starta ett makro – knappen ansvarar för detta parametrar (Alternativ) i föregående fönster Makro:

När du tilldelar nycklar, kom ihåg att de är skiftlägeskänsliga och tangentbordslayoutkänsliga. Så om du tilldelar en kombination som ctrl+Й, then, in fact, in the future you will have to make sure that you have the layout turned on and press additionally shiftför att få den stora bokstaven.

För enkelhetens skull kan vi också lägga till en knapp för vårt makro i snabbåtkomstverktygsfältet i det övre vänstra hörnet av fönstret. För att göra detta, välj Arkiv – Alternativ – Snabbåtkomstverktygsfält (Arkiv — Alternativ — Anpassa verktygsfältet Snabbåtkomst), och sedan i rullgardinsmenyn högst upp i fönstret alternativet Makron. Efter det vårt makro FormlerToValues kan placeras på panelen med knappen Lägg till (Lägg) och välj en ikon för den med knappen byta (Redigera):

Steg 4. Lägg till funktioner till tillägget

Men makroförfaranden, det finns även funktionsmakron eller som de heter UDF (Användardefinierad funktion = användardefinierad funktion). Låt oss skapa en separat modul i vårt tillägg (menykommando Infoga – Modul) och klistra in koden för följande funktion där:

Det är lätt att se att denna funktion behövs för att ta ut moms från beloppet inklusive moms. Inte Newtons binomial förstås, men det kommer att duga för oss som exempel att visa de grundläggande principerna.

Observera att syntaxen för en funktion skiljer sig från en procedur:

  • konstruktion används Funktion…. Avsluta funktion istället Sub … End Sub
  • efter namnet på funktionen anges dess argument inom parentes
  • i funktionskroppen utförs de nödvändiga beräkningarna och sedan tilldelas resultatet till en variabel med namnet på funktionen

Observera också att den här funktionen inte behövs, och det är omöjligt att köra som föregående makroprocedur genom dialogrutan Makron och knapp Körning. En sådan makrofunktion bör användas som en standardkalkylbladsfunktion (SUMMA, OM, VLOOKUP...), dvs. skriv bara in i valfri cell, ange värdet på beloppet med moms som argument:

… eller gå in via standarddialogrutan för att infoga en funktion (knapp fx i formelfältet), välj en kategori Användardefinierad (Användardefinierad):

Det enda obehagliga ögonblicket här är frånvaron av den vanliga beskrivningen av funktionen längst ner i fönstret. För att lägga till det måste du göra följande:

  1. Öppna Visual Basic Editor med en kortkommando andra+F11
  2. Välj tillägget i projektpanelen och tryck på knappen F2för att öppna objektbläddrarfönstret
  3. Välj ditt tilläggsprojekt från rullgardinsmenyn högst upp i fönstret
  4. Högerklicka på funktionen som visas och välj kommando Våra Bostäder.
  5. Ange en beskrivning av funktionen i fönstret Beskrivning
  6. Spara tilläggsfilen och starta om excel.

Efter omstart ska funktionen visa beskrivningen vi angav:

Steg 5. Skapa en tilläggsflik i gränssnittet

Den sista, men inte obligatoriska, men trevliga touchen kommer att vara skapandet av en separat flik med en knapp för att köra vårt makro, som kommer att visas i Excel-gränssnittet efter att ha anslutit vårt tillägg.

Information om flikarna som visas som standard finns i boken och måste formateras i en speciell XML-kod. Det enklaste sättet att skriva och redigera sådan kod är med hjälp av speciella program - XML-redigerare. En av de mest bekväma (och gratis) är Maxim Novikovs program Ribbon XML Editor.

Algoritmen för att arbeta med det är som följer:

  1. Stäng alla Excel-fönster så att det inte blir någon filkonflikt när vi redigerar tilläggets XML-kod.
  2. Starta Ribbon XML Editor-programmet och öppna vår MyExcelAddin.xlam-fil i den
  3. Med knappen flikar i det övre vänstra hörnet lägger du till kodavsnittet för den nya fliken:
  4. Du måste sätta in tomma citattecken id vår flik och grupp (alla unika identifierare) och i etikett – namnen på vår flik och en grupp knappar på den:
  5. Med knappen Knappen på den vänstra panelen, lägg till en tom kod för knappen och lägg till taggar till den:

    — etikett är texten på knappen

    — imageMso — detta är det villkorade namnet på bilden på knappen. Jag använde en röd knappikon som heter AnimationCustomAddExitDialog. Namnen på alla tillgängliga knappar (och det finns flera hundra av dem!) kan hittas på ett stort antal webbplatser på Internet om du söker efter nyckelorden "imageMso". Till att börja med kan du gå hit.

    - onAction – detta är namnet på callback-proceduren – ett speciellt kort makro som kommer att köra vårt huvudmakro FormlerToValues. Du kan kalla denna procedur vad du vill. Vi lägger till det lite senare.

  6. Du kan kontrollera att allt som är gjort är korrekt med knappen med en grön bock längst upp i verktygsfältet. På samma plats, klicka på knappen med en diskett för att spara alla ändringar.
  7. Stäng Ribbon XML Editor
  8. Öppna Excel, gå till Visual Basic-redigeraren och lägg till en återuppringningsprocedur till vårt makro KillFormulasså att den kör vårt huvudmakro för att ersätta formler med värden.
  9. Vi sparar ändringarna och återgår till Excel och kontrollerar resultatet:

Det är allt – tillägget är redo att användas. Fyll den med dina egna procedurer och funktioner, lägg till vackra knappar – så blir det mycket lättare att använda makron i ditt arbete.

  • Vad är makron, hur du använder dem i ditt arbete, var kan du få makrokod i Visual Basic.
  • Hur man gör en startskärm när man öppnar en arbetsbok i Excel
  • Vad är en personlig makrobok och hur man använder den

Kommentera uppropet