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

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. Makron skulle verkligen inte fungera om de inte skapades exklusivt för Mac.





Från och med 2013 tog Microsoft tillbaka makron. Det finns två typer av makron: de du kan skapa genom att snabbt spela in dina handlingar och de som använder VBA för att designa mer avancerade automatiseringar. Med Office 2016 använder Excel samma kodbas på alla plattformar . Denna förändring kommer att göra det enklare för makron att fungera på flera plattformar.





Så låt oss ta en titt på hur det för närvarande fungerar på macOS.





roliga saker att göra med en hallon pi

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 skadlig vektor. Det enklaste sättet att berätta är att se om du har Utvecklare fliken tillgänglig på menyfliksområdet i Excel. Om du inte ser det är det enkelt att aktivera.

Klicka på Excel i menyraden och välj sedan Preferenser i rullgardinsmenyn. Klicka på i menyn Ribbon & Toolbar . I den högra listan, Utvecklare ska vara längst ner, klicka på kryssrutan. Slutligen, klicka Spara och du bör se fliken Utvecklare visas i slutet av menyfliksområdet.



När du har skapat varje arbetsbok med makron, spara den i ett nytt format .xlsm för att använda makron efter att filen öppnats 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.

Spela in ett makro manuellt i Excel på Mac

Även om du kan koda makron , det kanske inte är för alla. Om du inte är redo att börja arbeta med VBA kan du spela in stegen för ditt makro i ett befintligt blad i Excel. Klicka på fliken Utvecklare för att se dina alternativ.





Du letar efter det tredje alternativet i bandet, Spela in makro . Klicka på det här så kommer en dialogruta upp som låter dig namnge ditt makro och ställa in en kortkommando. Du kan omfatta ditt makro till Nuvarande arbetsbok , till 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 registrerat dina handlingar är de tillgängliga på samma flik. Genom att klicka på makron öppnas de sparade makron i din arbetsbok. Klicka på ditt makronamn och klicka Springa för att köra dina inspelade åtgärder.





Exempel 1: Total försäljning per dag och genomsnitt per timme

För ett exempelmakro kommer du att köra igenom ett dagligt försäljningsblad, med försäljningen uppdelad efter timtal. Ditt makro kommer att lägga till en daglig försäljningssumma och sedan lägga till ett genomsnitt i den sista kolumnen i varje timme. Om du arbetar i detaljhandel eller annan försäljningsposition är det här ett användbart ark för att spåra intäkter.

Vi måste sätta upp det första arket. Om du använder det här första ämnet som en mall för att kopiera till en ny flik varje dag kan du spara lite tid. I timme/datum i den första kolumnen/raden. Överst på toppen lägg till måndag till fredag.

Sedan i den första kolumnen en uppdelning av timtal totalt från 8-5. Jag använde 24-timmars tid, men du kan använda AM/PM notation om du föredrar det. Ditt blad ska matcha skärmdumpen ovan.

Lägg till en ny flik och kopiera mallen till den. Fyll sedan i dina försäljningsdata för dagen. (Om du inte har data för att fylla i det här bladet, du kan gå in = RandBetween (10.1000) i alla celler för att skapa dummy -data.) Klicka sedan på Utvecklare i bandet.

Klicka sedan på Spela in makro . Ange namnet som i dialogrutan Genomsnitt och summa och låt den förvaras i Denna arbetsbok . 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 på OK för att börja konfigurera makrot.

Längst ner i timlistorna anger du Dagliga summor . Ange i cellen bredvid = SUMMA (B2: B10) . Kopiera sedan och klistra in det i resten av kolumnerna. Lägg sedan till i rubriken Genomsnitt efter den sista kolumnen. Ange sedan i nästa cell ned = Genomsnitt (B2: F2) . Klistra sedan in det i cellerna i resten av kolumnen.

Klicka sedan Sluta spela in . Ditt makro kan nu användas på varje nytt blad du lägger till i din arbetsbok. När du har ett nytt datablad går du tillbaka till Utvecklare och klicka Makron . Ditt makro bör markeras, klicka på kör för att lägga till dina summor och genomsnitt.

Detta exempel kan spara dig ett par steg, men för mer komplexa åtgärder som kan läggas till. Om du gör samma åtgärder på data med identisk formatering använder du inspelade makron.

VBA -makron i Excel på Mac

Manuellt inspelade makron i Excel hjälper till med data som alltid har 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 ytterligare en timme och dag i arket och kör makrot. Du ser att makrot skriver över din nya data. Sättet vi kommer runt detta är att använda kod för att göra makrot mer dynamiskt med VBA, vilket är en bantad version av Visual Basic . Implementeringen fokuserar på automatisering för Office.

Det är inte som lätt att hämta som Applescript , men Office automatisering är helt och hållet byggt kring Visual Basic. Så när du har arbetat med det här kan du snabbt vända och använda det i andra Office -appar. (Det kan också vara en stor hjälp om du har fastnat med en Windows -dator på jobbet.)

När du arbetar med VBA i Excel har du ett separat fönster. Skärmdumpen ovan är vårt inspelade makro som det visas i kodredigeraren. Det fönsterläge kan vara till hjälp att leka med din kod när du lär dig. När ditt makro fastnar finns det felsökningsverktyg för att titta på tillståndet för dina variabler och bladdata.

Office 2016 levereras nu med hela Visual Basic -redigeraren. Det låter dig använda objektbläddraren och felsökningsverktyg som tidigare var begränsade till Windows -versionen. Du kan komma åt objektbläddraren genom att gå till Visa> Objektbläddrare eller tryck bara på Skift + Kommando + B . Du kan sedan bläddra igenom alla klasser, metoder och egenskaper som är tillgängliga. Det var till stor hjälp för att konstruera koden i nästa avsnitt.

Exempel 2: Daglig försäljning totalt och timmedeltal 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 makrot snarare än att gräva i flikarna och menyerna.

Byt tillbaka till det tomma mallarket du skapade i det sista steget. Klicka på Utvecklare för att komma tillbaka till fliken. När du väl är på fliken klickar du på Knapp . Klicka sedan någonstans i arket på mallen för att placera knappen. Makronmenyn kommer upp, namnge ditt makro och klicka Ny .

Visual Basic -fönstret öppnas; du ser det listat som Modul 2 i projektets webbläsare. Kodrutan kommer att ha Sub AverageandSumButton () högst 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. Dessa finns i kodblocket nedan, men en anteckning om hur de är konstruerade. Du bör deklarera alla variabler med Ingen 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 kalkylbladet som adresser. Variabeln Alla celler kommer att ställas in på alla aktiva celler på arket, som innehåller kolumn- och radetiketterna. Du får detta genom att ringa till ActiveSheet objektet och sedan är det UsedRange fast egendom.

Problemet är att du inte vill att etiketterna ska inkluderas i genomsnitts- och summedata. Istället använder du en delmängd av AllCells -intervallet. Detta kommer att vara TargetCells -intervallet. Du deklarerar manuellt dess intervall. Dess startadress kommer att vara cellen på den andra raden i den andra kolumnen i intervallet.

Du kallar detta genom att ringa din AllCells intervall, med dess Celler klass för att få den specifika cellen med (2.2) . För att få den sista cellen i området ringer du fortfarande AllCells . Den här gången använder Specialceller metod för att få fastigheten 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 slinga

De två nästa kodavsnitten är För varje slingor. Dessa loopar går genom 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 desamma är bara en av dem här; men båda finns i kodblocket. Detaljerna är praktiskt taget identiska.

Innan du startar slingan för varje rad måste du ställa in målkolumnen där slingan skriver genomsnittet för varje rad. Du använder KolumnPlatsHållare variabel för att ställa in detta mål. Du ställer det lika med Räkna variabel av Celler klass av AllCells . Lägg till en till den för att flytta den till höger om dina data genom att lägga till +1 .

Därefter ska du starta slingan med hjälp av För varje . Då vill du skapa en variabel för delmängden, i det här fallet, underrad . Efter I , vi ställer in huvudobjektet 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 metoden ActiveSheet.Cells för att ställa in ett specifikt mål på arket. Koordinaterna ställs in med subRow.Row för att få raden som slingan är för närvarande i. Sedan använder du KolumnPlatsHållare för den andra koordinaten.

Du använder detta för alla tre stegen. Det första du lägger till .värde efter parenteser och sätt lika med ArbetsbladFunktion. Genomsnitt (underrad) . Detta skriver formeln för genomsnittet av raden i din målcell. Nästa rad som du lägger till .Stil och sätt det lika med 'Valuta' . Detta steg matchar resten av ditt blad. På sista raden lägger du till .Font.Fet och ställ det lika med Sann . (Observera att det inte finns citat runt det här, eftersom det är det booleska värdet.) Den här raden fetstil 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 Belopp . Genom att använda denna metod kopplas dina beräkningar till det aktuella bladets format. Annars är den kopplad till storleken vid den tidpunkt då du spelar in makrot. Så när du arbetar fler dagar eller timmar växer funktionen med dina data.

hur man gör en snapchat -serie
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

Märk sedan den nya raden och kolumnen RowPlaceHolder och KolumnPlatsHållare på nytt. 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å att använda samma .Font.Fet egendom för att fetstil din nya etikett.

Omvänd det sedan, ställ in dina platshållare till den första kolumnen och sista raden att lägga till 'Total rea' . Du vill också tjocka detta.

Båda stegen finns i kodblocket nedan. Detta är slutet på makrot noterat av Avsluta Sub . Du bör nu ha hela makrot och kunna klicka på knappen för att köra det. Du kan klistra in alla dessa kodblock i ordning i ditt excelark om du vill fuska, men var är det roliga 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ägbara upprepningar. Även om det är något så enkelt som att ändra storlek på alla celler och djärva rubriker kan dessa spara dig tid. Bara undvik vanliga makrofel .

Visual Basic öppnar dörren för Mac Excel -användare att gräva djupt i Office -automation. Visual Basic var traditionellt endast tillgängligt på Windows. Det gör att dina makron kan anpassa sig till data dynamiskt, vilket gör dem mer mångsidiga. Om du har tålamod kan detta vara dörren till mer avancerad programmering.

Vill du ha fler tidsbesparande kalkylark-trick? Lär dig hur du markerar specifika data automatiskt med villkorlig formatering i Excel och villkorlig markering i Numbers på Mac.

Dela med sig Dela med sig Tweet E-post 3 sätt att kontrollera om ett e -postmeddelande är riktigt eller falskt

Om du har fått ett e -postmeddelande som ser lite tveksamt ut är det alltid bäst att kontrollera dess äkthet. Här är tre sätt att se om ett e -postmeddelande är sant.

Läs Nästa
Relaterade ämnen
  • Mac
  • Produktivitet
  • Programmering
  • Visual Basic programmering
  • Microsoft excel
Om författaren Michael McConnell(44 artiklar publicerade)

Michael använde inte en Mac när de var dömda, men han kan koda i Applescript. Han har examen i datavetenskap och engelska; han har skrivit om Mac, iOS och videospel ett tag nu; och han har varit en IT -apa på dagtid i över ett decennium, specialiserat sig på scripting och virtualisering.

Mer från Michael McConnell

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera