Använd makron i Excel på Mac för att spara tid och göra mer
Excel på Mac har inte alltid varit samma kraftverk som det var på Windows. Makroer skulle verkligen inte fungera om de inte skapades uteslutande för Mac.
Från och med 2013 återvände Microsoft till makron. Det finns två typer av makron: de du kan skapa genom att snabbt registrera dina handlingar, och de som använder VBA för att designa avancerade automationer. Med Office 2016 använder Excel samma kodbas på alla plattformar. Denna förändring gör det lättare för makron att arbeta över plattformar.
Så låt oss se hur det här fungerar för närvarande på macOS.
Aktivera makron i Excel på Mac
Att arbeta med makron i Excel på din Mac kanske inte är aktiverat som standard. Den här inställningen beror på att makron kan vara en möjlig malwarevektor. Så här skyddar du dig mot Microsoft Word-skadlig program. Skydda dig mot Microsoft Word-skadlig programvara. Visste du att din dator kan smittas av skadliga Microsoft Office-dokument eller att du kan vara inbäddade till att aktivera de inställningar de behöver för att infektera din dator? Läs mer . Det enklaste sättet att berätta är att se om du har Utvecklare flik tillgänglig på bandet i Excel. Om du inte ser det är det enkelt att aktivera.
Klicka på Excel i menyraden och välj sedan Inställningar i rullgardinsmenyn. Klicka på på menyn Ribbon & Toolbar. I högra listan, Utvecklare ska vara längst ned, klicka på kryssrutan. Slutligen klickar du på Spara och du ska se fliken Utvecklare visas i slutet av bandet.
När du har skapat varje arbetsbok med makron, spara den i ett nytt format .xlsm att använda makronerna efter att ha öppnat filen igen. Om du glömmer kommer Excel att påminna dig varje gång du försöker spara. Du måste också aktivera makron varje gång du öppnar filen.
Manuell inspelning av en makro i Excel på Mac
Även om du kan koda makron 4 Fel du kan undvika när du programmerar Excel Makroer med VBA 4-fel som du kan undvika när du programmerar Excel Makroner med VBA Enkel kod och makron är nycklarna till Microsoft Excel supermakter. Även icke-programmörer kan enkelt lägga imponerande funktionalitet till sina kalkylblad med virtuella grunder för applikationer (VBA). Undvik bara dessa programmering nybörjare misstag! Läs mer, det kanske inte är för alla. Om du inte är redo att börja arbeta med VBA, kan Excel spela in stegen för ditt makro i ett befintligt ark. Klicka på fliken Utvecklare för att se dina alternativ.
Du letar efter det tredje alternativet i bandet, Spela in makro. Klicka här och en dialogruta visas så att du kan namnge ditt makro och ställa in en snabbtangent. Du kan räcka med ditt makro till Nuvarande arbetsbok, en Ny arbetsbok, eller i din Personlig makro arbetsbok. Personal Macro Workbook finns i din användarprofil och låter dig använda dina makron mellan dina filer.
När du har spelat in dina handlingar är de tillgängliga på samma flik. Genom att klicka på makron kommer de sparade makronen att hämtas i din arbetsbok. Klicka på ditt makronamn och klicka på Springa att köra dina inspelade åtgärder.
Exempel 1: Daglig försäljning totalt och per timme medelvärde
För ett exempel makro, kommer du att springa igenom ett daglig försäljningsblad, med försäljningen uppdelad i timantal. Ditt makro kommer att lägga till ett daglig försäljningsantal och sedan lägga till ett medelvärde i den sista kolumnen för varje timmeperiod. Om du arbetar i detaljhandeln eller annan försäljningsställning är det här ett bra ark för att spåra intäkterna.
Vi måste ställa in det första arket. Om du använder det här första blanket som en mall för att kopiera till en ny flik kan varje dag spara dig tid. I den första kolumnen / raden lägger du timme / datum. Överst lägg till måndag till fredag.
Sedan i den första kolumnen sätta en paus ner av timmars totalvärden från 8-5. Jag använde dygnetid, men du kan använda AM / PM-notation om du föredrar det. Ditt ark borde matcha skärmdumpen ovan.
Lägg till en ny flik och kopiera din mall i den. Fyll sedan i dina försäljningsdata för dagen. (Om du inte har data för att fylla i det här arket kan du ange = RANDBETWEEN (10,1000) i alla celler för att skapa dummy data.) Nästa, klicka på Utvecklare i bandet.
Klicka sedan på Spela in makro. I dialogrutan ange namnet som AverageandSum och lämna den lagrad i Den här arbetsboken. Du kan ställa in en genvägsknapp om du vill. Du kan ange en beskrivning om du behöver mer information om vad makrot gör. Klicka okej för att börja konfigurera makroen.
I botten av timlistorna anger du Dagliga Totals. Ange cellen i cellen bredvid den = SUMMA (B2: B10). Kopiera och klistra in det i resten av kolumnerna. Lägg sedan till i rubriken Medel efter sista kolumnen. Sedan i nästa cell ner, skriv in = Average (B2: F2). Sedan klistra in det i cellerna i resten av kolumnen.
Klicka sedan Stoppa inspelningen. Ditt makro kan nu användas på varje nytt ark du lägger till i din arbetsbok. När du har ett annat ark med data, gå tillbaka till Utvecklare och klicka Makron. Ditt makro ska markeras, klicka på kör för att lägga till dina summor och medelvärden.
Detta exempel kan spara dig ett par steg, men för mer komplexa åtgärder som kan lägga till. Om du gör samma operationer på data med samma formatering, använd inspelade makron.
VBA-makron i Excel på Mac
Manuellt inspelade makron i Excel hjälper till med data som alltid är i samma storlek och form. Det är också användbart om du vill utföra åtgärder på hela arket. Du kan använda ditt makro för att bevisa problemet.
Lägg till en annan timme och dag på arket och kör makroet. Du får se att makrot skriver över dina nya data. Det sätt vi tar sig runt här använder kod för att göra makron mer dynamisk med hjälp av VBA, vilket är en slimmad version av Visual Basic 4 Great Websites för att göra dig till en Visual Basic Guru 4 Great Websites för att göra dig en Visual Basic Guru Vill du lära dig Visual Basic? Här är några bra resurser för att komma igång. Läs mer . Implementeringen fokuserar på automatisering för Office.
Det är inte lika lätt att hämta som Applescript Learn att automatisera din Mac med AppleScript [Del 1: Introduktion] Lär dig att automatisera din Mac med AppleScript [Del 1: Introduktion] Läs mer, men Office automation är helt byggd kring Visual Basic. Så snart du arbetar med den här kan du snabbt vända och använda den i andra Office-appar. (Det kan också vara en stor hjälp om du fastnar med en Windows-dator på jobbet.)
När du arbetar med VBA i Excel har du ett separat fönster. Skärmbilden ovan är vårt inspelade makro som det visas i kodredigeraren. Windowed-läget kan vara till hjälp för att leka med din kod när du lär dig. När ditt makro blir hängt finns det felsökningsverktyg för att titta på tillståndet för dina variabler och arkdata.
Office 2016 levereras nu med hela Visual Basic-redigeraren. Det låter dig använda objektbläddraren och felsökningsverktygen som brukade vara begränsade till Windows-versionen. Du kan komma åt objektwebbläsaren genom att gå till Visa> Objektbrowser eller tryck bara på Skift + Kommando + B. Du kan sedan bläddra igenom alla klasser, metoder och egenskaper som finns tillgängliga. Det var väldigt bra att bygga koden i nästa avsnitt.
Exempel 2: Daglig försäljning totalt och genomsnittligt per timme med kod
Innan du börjar koda ditt makro, låt oss börja med att lägga till en knapp i mallen. Detta steg gör det mycket lättare för en nybörjare att komma åt ditt makro. De kan klicka på en knapp för att ringa makroet istället för att gräva i flikarna och menyerna.
Växla tillbaka till det tomma mallarket du skapade i det sista steget. Klicka på Utvecklare för att komma tillbaka till fliken. När du är på fliken klickar du på Knapp. Klicka sedan någonstans i arket på mallen för att placera knappen. Makromenyn kommer upp, namnge ditt makro och klicka Ny.
Visual Basic-fönstret öppnas Du får se den listad som Module2 i projektbläddraren. Kodrutan kommer att ha Sub AverageandSumButton () längst upp och några rader ner Avsluta Sub. Din kod måste gå mellan dessa två, eftersom det är början och slutet på ditt makro.
Steg 1: Deklarera variabler
För att börja, måste du deklarera alla dina variabler Grunderna för dataprogrammering 101 - Variabler och datatyper Grunderna för datorprogrammering 101 - Variabler och datatyper Efter att ha introducerat och pratat lite om Objektorienterad programmering före och där namnet kommer från, Jag trodde det är dags att vi går igenom de absoluta grunderna för programmering på ett icke-språkspecifikt sätt. Detta ... Läs mer. Dessa finns i kodblocket nedan, men en anteckning om hur de är konstruerade. Du bör deklarera alla variabler med Dämpa före namnet, och sedan som med datatypen.
Sub AverageandSumButton () Dim RowPlaceHolder som helhet Dim ColumnPlaceHolder som heltal Dim StringHolder som sträng Dim AllCells som Range Dim TargetCells som Range Dim AverageTarget som Range Dim SumTarget som Range
Nu när du har alla dina variabler måste du använda några av intervallvariablerna direkt. Områden är objekt som innehåller delar av arbetsbladet som adresser. Variabeln Alla celler kommer att ställas in på alla aktiva celler på arket, vilket inkluderar kolumn- och radetiketterna. Du får det genom att ringa ActiveSheet objekt och då är det UsedRange fast egendom.
Problemet är att du inte vill att etiketterna ingår i medel- och sumdata. I stället använder du en delmängd av AllCells-sortimentet. Det här är TargetCells-intervallet. Du förklarar manuellt sitt sortiment. Startadressen kommer att vara cellen vid andra raden i den andra kolumnen i intervallet.
Du ringer detta genom att ringa din AllCells intervall, med dess Celler klass för att få den specifika cellen att använda (2,2). För att få den sista cellen i intervallet kommer du fortfarande ringa AllCells. Den här gången använder SpecialCells metod för att få fastigheten xlCellTypeLastCell. Du kan se båda dessa i kodblocket nedan.
Ange AllCells = ActiveSheet.UsedRange Set TargetCells = Räckvidd (AllCells.Cells (2, 2), AllCells.SpecialCells (xlCellTypeLastCell))
Steg 2: För varje slingor
De två följande delarna av koden är för varje Absoluta grunderna för programmering för nybörjare (del 2) Den absoluta grunderna för programmering för nybörjare (del 2) I del 2 av vår absoluta nybörjarguide till programmering kommer jag att täcka grunderna för funktioner, returvärden, loopar och villkor. Se till att du har läst del 1 innan du klarar det här, där jag förklarade ... Läs mer loopar. Dessa loopar går igenom ett objekt för att verka på varje delmängd av objektet. I det här fallet gör du två av dem, en för varje rad och en för varje kolumn. Eftersom de är nästan exakt samma, är bara en av dem här; men båda är i kodblocket. Detaljerna är nästan identiska.
Innan du startar slingan för varje rad måste du ställa in målkolumnen där slingan skriver medeltalet av varje rad. Du använder ColumnPlaceHolder variabel för att ställa in detta mål. Du ställer den lika med Räkna variabel av Celler klass av AllCells. Lägg till en för att flytta den till höger om dina data genom att lägga till +1.
Därefter kommer du att starta slingan genom att använda För varje. Då vill du skapa en variabel för delmängden, i det här fallet, subRow. Efter I, Vi ställer in det huvudsakliga objektet vi analyserar TargetCells. Bifoga .rader i slutet för att begränsa slingan till endast varje rad, istället för varje cell i intervallet.
Inuti slingan använder du ActiveSheet.Cells-metoden för att ställa in ett specifikt mål på arket. Koordinaterna ställs in med hjälp av subRow.Row för att få raden som slingan är i. Då använder du ColumnPlaceHolder för den andra koordinaten.
Du använder detta för alla tre steg. Det första du lägger till .värde efter parenteserna och satt lika med WorksheetFunction.Average (subRow). Detta skriver formeln för medeltalet av raden i din målcell. Nästa rad du lägger till .Stil och ställa det lika med “Valuta”. Detta steg matchar resten av ditt ark. På den sista raden lägger du till .Font.Bold och ställ den lika med Sann. (Observera att det inte finns några citat runt den här, eftersom det är det booleska värdet.) Den här raden är fetstil i teckensnittet så att sammanfattningsinformationen sticker ut från resten av arket.
Båda stegen finns i kodexemplet nedan. Den andra slingan byter rader för kolumner och ändrar formeln till Summa. Med denna metod knyts dina beräkningar till formatet för det aktuella arket. Annars är det kopplat till storleken vid den tidpunkt då du spelar in makrot. Så när du arbetar flera dagar eller timmar, växer funktionen med dina data.
ColumnPlaceHolder = AllCells.Columns.Count + 1 För varje subRow i TargetCells.Rows ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Value = ArbetsbladFunction.Average (subRow) ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Style = "Valuta "ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 För varje underkolumn i TargetCells.Columns ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Value = Arbetsbladsfunktion. Sum (subColumn) ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Style = "Valuta" ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Font.Bold = "True" Nästa underkolumn
Steg 3: Märk dina sammanfattningar
Markera sedan den nya raden och kolumnen, set RowPlaceHolder och ColumnPlaceHolder igen. Använd först AllCells.Row för att få den första raden i intervallet och sedan AllCells.Column + 1 för att få den sista kolumnen. Då använder du samma metod som slingan för att ställa in värdet till “Genomsnittlig försäljning”. Du kommer också använda samma .Font.Bold egendom till fet din nya etikett.
Vänd sedan om det, sätt in dina platshållare i första kolumnen och sista raden för att lägga till “Total rea”. Du vill också modiga det här.
Båda stegen finns i kodblocket nedan. Detta är slutet på det makro som noteras av Avsluta Sub. Du borde nu ha hela makroen 5 Resurser för Excel-makron för att automatisera dina kalkylblad 5 Resurser för Excel-makron för att automatisera dina kalkylblad Sökning efter Excel-makron? Här är fem webbplatser som har det du letar efter. Läs mer, och kunna klicka på knappen för att köra den. Du kan klistra in alla dessa kodblock i ordning i ditt excel-ark om du vill fuska, men var är kul i det?
ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Genomsnittlig försäljning" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Total försäljning" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True End Sub
Vad är nästa för makron i Excel på Mac?
Inspelade makron är bra att använda för förutsägbar upprepning. Även om det är något så enkelt som att ändra storlek på alla celler och fetstilhuvud, kan de spara tid.
Visual Basic öppnar dörren för Mac Excel-användare att gräva djupt in i Office automation. Visual Basic var traditionellt endast tillgängligt på Windows. Det gör det möjligt för dina makron att anpassa sig till data dynamiskt, vilket gör dem mer mångsidiga. Om du har tålamod kan detta vara dörröppningen till mer avancerad programmering.
Utforska mer om: Microsoft Excel, Visual Basic Programmering.