Brug makroer i Excel på Mac for at spare tid og gøre mere

Lær hvordan du øger dit regnearks produktivitet med makroer i Excel på Mac.

Lær hvordan du øger dit regnearks produktivitet med makroer i Excel på Mac.
Reklame

Excel på Mac har ikke altid været det samme kraftværk, det var på Windows. Makroer ville virkelig ikke virke, medmindre de blev oprettet udelukkende til Mac.

Fra og med 2013 bragte Microsoft tilbage makroer. Der er to typer makroer: dem, du kan oprette ved hurtigt at optage dine handlinger, og dem der bruger VBA til at designe mere avancerede automationer. Med Office 2016 bruger Excel samme kodebase på alle platforme. Denne ændring gør det lettere for makroer at arbejde på tværs af platforme.

Så lad os tage et kig på, hvordan det aktuelt virker på macOS.

Aktivering af makroer i Excel på Mac

Arbejde med makroer i Excel på din Mac kan muligvis ikke aktiveres som standard. Denne indstilling er, fordi makroer kan være en mulig malware-vektor Sådan beskytter du dig mod Microsoft Word-malware Sådan beskytter du dig mod Microsoft Word-malware Vidste du, at din computer kan blive smittet af ondsindede Microsoft Office-dokumenter, eller at du kunne blive bedt om at aktivere de indstillinger, de har brug for for at inficere din computer? Læs mere . Den nemmeste måde at fortælle er at se, om du har fanen Udvikler tilgængelig på Ribbon i Excel. Hvis du ikke ser det, er det nemt at aktivere.

Makroer i Excel på Mac for at spare tid

Klik på Excel i menulinjen, og vælg derefter Indstillinger i rullelisten. Klik på Ribbon & Toolbar i menuen. I den højre hånd skal Udvikler være nederst, klik på afkrydsningsfeltet. Endelig skal du klikke på Gem, og du skal se fanen Udvikler, der vises i slutningen af ​​båndet.

Når du har oprettet hver arbejdsbog med makroer, skal du gemme det i et nyt format .xlsm for at bruge makroerne efter genåbning af filen. Hvis du glemmer, vil Excel minde dig om hver gang du forsøger at gemme. Du skal også aktivere makroer hver gang du åbner filen.

Manuel optagelse af en makro i Excel på Mac

Selvom du kan kode makroer 4 Fejl, du kan undgå, når du programmerer Excel Makroer med VBA 4 fejl, du kan undgå, når du programmerer Excel Makroer med VBA Enkel kode og makroer er nøglerne til Microsoft Excel supermagter. Selv ikke-programmører kan nemt tilføje imponerende funktionalitet til deres regneark med Virtual Basics for Applications (VBA). Bare undgå disse programmering nybegynder fejl! Læs mere, det kan ikke være for alle. Hvis du ikke er klar til at begynde at arbejde med VBA, kan Excel registrere trinene for din makro i et eksisterende ark. Klik på fanen Udvikler for at se dine muligheder.

Makroer i Excel på Mac for at spare tid

Du leder efter den tredje mulighed i Ribbon, Record Macro . Klik på dette, og en dialogboks dukker op, så du kan navngive din makro og angive en tastaturgenvej. Du kan omfatte din makro til den aktuelle arbejdsbog, en ny arbejdsbog eller i din personlige makro arbejdsbog . Den personlige makro arbejdsbog er i din brugerprofil og lader dig bruge dine makroer mellem dine filer.

Når du har optaget dine handlinger, er de tilgængelige på denne samme fane. Hvis du klikker på makroer, hentes de gemte makroer i din projektmappe. Klik på dit makro navn og klik på Kør for at køre dine optagne handlinger.

Eksempel 1: Daglig salg i alt og i gennemsnit pr. Time

For et eksempel makro skal du løbe igennem et daglig salgsark, hvor salget brydes ned i timetall. Din makro skal tilføje en daglig salgstal, og derefter tilføje et gennemsnit i den sidste kolonne i hver timeperiode. Hvis du arbejder i detailhandel eller anden salgs position, er dette et nyttigt ark til at spore indtægter.

Vi skal oprette det første ark. Brug af denne første blank som en skabelon til at kopiere til en ny fane hver dag kan spare dig tid. I den første kolonne / række sættes Time / Date. På tværs af toppen tilføj mandag til fredag.

Så i den første kolonne sætte en pause ned af timetallene fra 8-5. Jeg brugte 24-timers tid, men du kan bruge AM / PM notation, hvis du foretrækker det. Dit ark skal svare til skærmbilledet ovenfor.

Makroer i Excel på Mac for at spare tid

Tilføj en ny fane, og kopier din skabelon til den. Udfyld derefter dine salgsdata for dagen. (Hvis du ikke har data til at udfylde dette ark, kan du indtaste = RandBetween (10, 1000) i alle cellerne for at oprette dummy data.) Klik derefter på Udvikler i båndet.

Klik derefter på Record Macro . I dialogboksen indtastes navnet som AverageandSum og lader det gemmes i Denne Workbook . Du kan indstille en genvejstast, hvis du vil. Du kan indtaste en beskrivelse, hvis du har brug for flere detaljer om, hvad makroen gør. Klik okay for at starte opsætningen af ​​makroen.

I bunden af ​​timelisterne indtastes daglige totaler . I cellen ved siden af ​​det skal du indtaste = SUM (B2: B10) . Så kopier og indsæt det i resten af ​​kolonnerne. Derefter i overskriften tilføjes gennemsnit efter den sidste kolonne. Derefter i den næste celle ned, indtast = Gennemsnit (B2: F2) . Derefter indsæt det i cellerne i resten af ​​kolonnen.

Klik derefter på Stop optagelse . Din makro kan nu bruge på hvert nyt ark, du føjer til din projektmappe. Når du har et andet ark med data, skal du gå tilbage til Udvikler og klikke på Makroer . Din makro skal fremhæves, klik på Kør for at tilføje dine summer og gennemsnit.

Dette eksempel kan spare dig et par trin, men for mere komplekse handlinger, der kan tilføje op. Hvis du gør de samme operationer på data med samme formatering, skal du bruge optagne makroer.

VBA-makroer i Excel på Mac

Manuel registrerede makroer i Excel hjælper med data, der altid er i samme størrelse og form. Det er også nyttigt, hvis du vil udføre handlinger på hele arket. Du kan bruge din makro til at bevise problemet.

Makroer i Excel på Mac for at spare tid

Tilføj en anden time og dag til arket og kør makroen. Du får se, at makroen overskriver dine nye data. Den måde, vi kommer omkring dette, er at bruge kode til at gøre makroen mere dynamisk ved hjælp af VBA, som er en slanket version af Visual Basic 4 Great Websites til at gøre dig til en Visual Basic Guru 4 Great Websites til at gøre dig til en Visual Basic Guru. Visual Basic? Her er nogle gode ressourcer til at komme i gang. Læs mere . Implementeringen fokuserer på automatisering til Office.

Makroer i Excel på Mac for at spare tid

Det er ikke så nemt at hente som Applescript Learn til at automatisere din Mac med AppleScript [Del 1: Introduktion] Lær at automatisere din Mac med AppleScript [Del 1: Introduktion] Læs mere, men Office's automatisering er helt opbygget omkring Visual Basic. Så snart du arbejder med det her, kan du hurtigt vende om og bruge det i andre Office-apps. (Det kan også være en stor hjælp, hvis du sidder fast med en Windows-pc på arbejdspladsen.)

Når du arbejder med VBA i Excel, har du et separat vindue. Skærmbilledet ovenfor er vores registrerede makro som det fremgår af kodeditoren. Den vinduede tilstand kan være nyttigt at lege med din kode, som du lærer. Når din makro bliver hængt, er der fejlfindingsværktøjer for at se på tilstanden af ​​dine variabler og arkdata.

Office 2016 leveres nu med den fulde Visual Basic-editor. Det giver dig mulighed for at bruge objektbrowseren og fejlfindingsværktøjer, der tidligere var begrænset til Windows-versionen. Du kan få adgang til objektbrowseren ved at gå til Vis> Objektbrowser eller bare trykke på Skift + Kommando + B. Du kan derefter gennemse alle de klasser, metoder og tilgængelige egenskaber. Det var meget nyttigt at konstruere koden i næste afsnit.

Eksempel 2: Daglig Salg I alt og Gennemsnitlig Gennemsnit Med Kode

Før du begynder at kode din makro, lad os begynde med at tilføje en knap til skabelonen. Dette trin gør det meget lettere for en nybegynder at få adgang til din makro. De kan klikke på en knap for at kalde makroen i stedet for at grille ind i fanerne og menuerne.

Makroer i Excel på Mac for at spare tid

Skift tilbage til det blanke skabelonark, du oprettede i det sidste trin. Klik på Udvikler for at komme tilbage til fanen. Når du er på fanen, skal du klikke på knappen . Klik derefter et eller andet sted i arket på skabelonen for at placere knappen. Makromenuen kommer op, navngiv din makro og klik på Ny .

Visual Basic Window åbner op Du får se det, der er opført som Module2 i projektbrowseren. Kodruden har Sub AverageandSumButton () øverst og et par linjer ned End Sub . Din kode skal gå mellem disse to, da det er begyndelsen og slutningen af ​​din makro.

Trin 1: Deklarere variabler

Til at begynde med skal du erklære alle dine variabler Grundlæggende om Computer Programmering 101 - Variabler og datatyper Grundlæggende om Computer Programmering 101 - Variabler og datatyper Efter at have introduceret og snakket lidt om objektorienteret programmering før og hvor dets navnebringer kommer fra, Jeg troede, det er på tide, vi går igennem de absolutte grundlæggende grunde til programmering på en ikke-sproglig måde. Dette ... Læs mere. Disse er i kodeblokken nedenfor, men en note om, hvordan de er konstrueret. Du bør erklære alle variabler ved hjælp af Dim før navnet, og derefter 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, hvor du har alle dine variabler, skal du bruge nogle af rækkeviddevariablerne med det samme. Ranger er objekter, der holder dele af regnearket som adresser. Variabelen Alle celler vil blive indstillet til alle aktive celler på arket, som indeholder kolonne- og rækkeetiketterne. Du får dette ved at kalde ActiveSheet- objektet, og så er det UsedRange- ejendommen.

Problemet er, at du ikke vil have mærkerne inkluderet i gennemsnits- og sumdata. I stedet bruger du en delmængde af AllCells-rækken. Dette vil være målet TargetCells. Du erklærer manuelt sin rækkevidde. Dens startadresse kommer til at være cellen i anden række i anden søjle i rækken.

Du kalder dette ved at kalde din AllCells rækkevidde ved at bruge sin Celler klasse for at få den specifikke celle ved hjælp af (2, 2) . For at få den endelige celle i området, vil du stadig ringe til AllCells . Denne gang bruger SpecialCells metode til at få ejendommen xlCellTypeLastCell . Du kan se begge disse i kodeblokken nedenfor.

 Set AllCells = ActiveSheet.UsedRange Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell)) 

Trin 2: For hver løkke

De næste to sektioner af koden er for hver Det absolutte grundlag for programmering for begyndere (del 2) Det absolutte grundlæggende ved programmering for begyndere (del 2) I del 2 af vores absolutte begyndere guide til programmering dækker jeg det grundlæggende i funktioner, returværdier, loops og conditionals. Sørg for, at du har læst del 1, før du løser dette, hvor jeg forklarede ... Læs mere loops. Disse sløjfer går gennem et objekt for at virke på hver delmængde af objektet. I dette tilfælde gør du to af dem, en for hver række og en for hver kolonne. Da de næsten er ens, er kun en af ​​dem her; men begge er i kodeblokken. Detaljerne er næsten identiske.

Før du starter sløjfen for hver række, skal du indstille målkolonnen, hvor sløjfen skriver gennemsnittet af hver række. Du bruger variablen ColumnPlaceHolder til at indstille dette mål. Du sætter det på samme måde som Grev- variablen i Celle klasse af AllCells . Tilføj en til den for at flytte den til højre for dine data ved at tilføje +1 .

Dernæst skal du starte sløjfen ved at bruge For hver . Derefter vil du oprette en variabel for delmængden, i dette tilfælde subRow . Efter In indstiller vi det vigtigste objekt, vi analyserer TargetCells . Tilføj .Rows i slutningen for at begrænse sløjfen til kun hver række i stedet for hver celle i området.

Inden for sløjfen bruger du ActiveSheet.Cells-metoden til at angive et specifikt mål på arket. Koordinaterne er indstillet ved hjælp af subRow.Row for at få den række, søjlen er i øjeblikket. Derefter bruger du ColumnPlaceHolder til den anden koordinat.

Du bruger dette til alle tre trin. Den første du tilføjer .Værg efter parenteserne og sæt det samme som WorksheetFunction.Average (subRow) . Dette skriver formlen for gennemsnittet af rækken i din målcelle. Den næste linje, du tilføjer. Stil og sæt det samme som "Valuta" . Dette trin passer til resten af ​​dit ark. På den sidste linje tilføjer du .Font.Bold og sæt det som True . (Bemærk, at der ikke er citater omkring denne, da det er den booleske værdi.) Denne linje uddyber skrifttypen for at få opsummeringsoplysningerne skilt ud fra resten af ​​arket.

Begge trin er i koden eksempelet nedenfor. Den anden sløjfe bytter rækker for kolonner og ændrer formlen til Sum . Ved hjælp af denne metode knyttes dine beregninger til formatet for det aktuelle ark. Ellers er det forbundet med størrelsen på det tidspunkt, du registrerer makroen. Så når du arbejder flere dage eller timer, vokser funktionen med dine 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 

Trin 3: Mærk dine resumeer

Marker derefter den nye række og kolonne, sæt RowPlaceHolder og ColumnPlaceHolder igen. Først skal du bruge AllCells.Row for at få den første række i rækken, og derefter AllCells.Column + 1 for at få den sidste kolonne. Derefter vil du bruge den samme metode som løkken til at indstille værdien til "Gennemsnitlig Salg" . Du vil også bruge den samme .Font.Bold ejendom til fed din nye label.

Makroer i Excel på Mac for at spare tid

Derefter drejes det, og placerer dine pladsholdere i første kolonne og sidste række for at tilføje "Total Salg" . Du vil også modige dette også.

Begge trin er i kodeblokken nedenfor. Dette er slutningen af ​​makroen bemærket af End Sub . Du skal nu have hele makroen 5 Ressourcer til Excel-makroer til at automatisere dit regneark 5 Ressourcer til Excel-makroer til at automatisere dit regneark Søgning efter Excel-makroer? Her er fem websteder, der har fået det, du leder efter. Læs mere, og klik på knappen for at køre den. Du kan indsætte alle disse kodeblokke for at komme ind i dit Excel-ark, hvis du vil snyde, men hvor er det sjovt 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 

Hvad er næste for makroer i Excel på Mac?

Optagne makroer er gode til at bruge til forudsigelig gentagelse. Selvom det er noget så enkelt som at ændre størrelsen på alle celler og modige overskrifter, kan disse spare tid.

Visual Basic åbner døren for Mac Excel-brugere at grave dybt ind i Office-automatisering. Visual Basic var traditionelt kun tilgængelig på Windows. Det giver dine makroer mulighed for at tilpasse sig dataene dynamisk, hvilket gør dem mere alsidige. Hvis du har tålmodigheden, kan dette være døren til mere avanceret programmering.

In this article