Använd makron i Excel på Mac för att spara tid och göra mer

Läs om hur du ökar produktiviteten i kalkylbladet med makron i Excel på Mac.

Läs om hur du ökar produktiviteten i kalkylbladet med makron i Excel på Mac.
Annons

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 fliken Utvecklare tillgänglig på Ribbon i Excel. Om du inte ser det är det enkelt att aktivera.

makron i Excel på Mac för att spara tid

Klicka på Excel i menyraden och välj sedan Inställningar i rullgardinsmenyn. Klicka på Ribbon & Toolbar i menyn. I den högra listan ska utvecklaren vara längst ner, 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 för att använda makronerna efter att du ö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.

makron i Excel på Mac för att spara tid

Du letar efter det tredje alternativet i Ribbon, Record Macro . 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 den aktuella arbetsboken, en ny arbetsbok eller i din personliga 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å Kör för 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 dagligt 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.

makron i Excel på Mac för att spara tid

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 anger du namnet som AverageandSum och lämnar det lagrat 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 . I cellen bredvid den anger du = SUM (B2: B10) . Kopiera och klistra in det i resten av kolumnerna. Sedan lägger du till i genomsnitt efter den sista kolumnen i rubriken. Sedan i nästa cell ner, skriv = Genomsnitt (B2: F2) . Sedan klistra in det i cellerna i resten av kolumnen.

Klicka sedan på Stopp inspelning . 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 på 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.

makron i Excel på Mac för att spara tid

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.

makron i Excel på Mac för att spara tid

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 objektbläddraren genom att gå till Visa> Objektbrowser eller bara trycka 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.

makron i Excel på Mac för att spara tid

Växla tillbaka till det tomma mallarket du skapade i det sista steget. Klicka på Utvecklaren för att komma tillbaka till fliken. När du är på fliken klickar du på knappen . Klicka sedan någonstans i arket på mallen för att placera knappen. Makromenyn kommer upp, namnet ditt makro och klicka på Ny .

Visual Basic-fönstret öppnas Du får se den listad som Module2 i projektbläddraren. Kodfältet har Sub AverageandSumButton () högst upp och några rader ner End 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 Dim före namnet, och sedan som med datatypen.

Sub AverageandSumButton() Dim RowPlaceHolder As Integer Dim ColumnPlaceHolder As Integer Dim StringHolder As String Dim AllCells As Range Dim TargetCells As Range Dim AverageTarget As Range Dim SumTarget As 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 detta genom att ringa ActiveSheet- objektet och sedan är det UsedRange- egenskapen.

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 ditt AllCells- sortiment genom att använda sin cellklass för att få den specifika cellen med (2, 2) . För att få den sista cellen i intervallet kallar du fortfarande AllCells . Den här gången använder SpecialCells- metoden för att få egenskapen xlCellTypeLastCell . Du kan se båda dessa i kodblocket nedan.

 Set AllCells = ActiveSheet.UsedRange Set TargetCells = Range(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 variabeln ColumnPlaceHolder för att ställa in detta mål. Du ställer in det lika med grabvariabeln i cellcellen i AllCells . Lägg till en för att flytta den till höger om dina data genom att lägga till +1 .

Därefter ska du starta slingan genom att använda For Each . Då vill du skapa en variabel för delmängden, i det här fallet subRow . Efter In ställer vi huvudobjektet vi analyserar TargetCells . Lägg till .Rows 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. Den första du lägger till. Värdera efter parenteserna och sätt 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 sätt 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 True . (Observera att det inte finns några citat runt den här, eftersom det är det booleska värdet.) Den här raden dristar teckensnittet så att sammanfattningsinformationen stannar från resten av arket.

Båda stegen finns i kodexemplet nedan. Den andra slingan byter rader för kolumner och ändrar formeln till Sum . 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 For Each subRow In TargetCells.Rows ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow) ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Style = "Currency" ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 For Each subColumn In TargetCells.Columns ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Value = WorksheetFunction.Sum(subColumn) ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Style = "Currency" ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Font.Bold = "True" Next subColumn 

Steg 3: Märk dina sammanfattningar

Markera sedan den nya raden och kolumnen, sätt 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 "Average Sales" . Du kommer också att använda samma .FontBold egenskap för att djärva din nya etikett.

makron i Excel på Mac för att spara tid

Vänd sedan om det, sätt in dina platshållare i första kolumnen och sista raden för att lägga till "Totalförsäljning" . Du vill också modiga det här.

Båda stegen finns i kodblocket nedan. Detta är slutet på det makro som noteras av End 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 det roligt i det?

 ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Average Sales" ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Total Sales" 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.

In this article