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

  • Brian Curtis
  • 0
  • 3430
  • 497
Reklame

Excel på Mac har ikke altid været det samme kraftcenter, som det var på Windows. Makroer ville virkelig ikke fungere, 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 registrere dine handlinger, og dem, der bruger VBA til at designe mere avancerede automatiseringer. Med Office 2016 bruger Excel den samme kodebase på alle platforme. Denne ændring gør det lettere for makroer at arbejde på tværs af platforme.

Så lad os se på, hvordan dette i øjeblikket fungerer på macOS.

Aktivering af makroer i Excel på Mac

Arbejde med makroer i Excel på din Mac er muligvis ikke aktiveret som standard. Denne indstilling skyldes, at makroer kan være en mulig malware-vektor. Den nemmeste måde at fortælle er at se, om du har det Udvikler fanen tilgængelig på båndet i Excel. Hvis du ikke ser det, er det let at aktivere.

Klik på Excel i menulinjen, og vælg derefter Indstillinger i dropdown. Klik på i menuen Bånd & værktøjslinje. I højre liste, Udvikler skal være i bunden, skal du klikke på afkrydsningsfeltet. Klik til sidst Gemme og du skal se fanen Udvikler vises i slutningen af ​​båndet.

Når du har oprettet hver projektmappe med makroer, skal du gemme den i et nyt format .xlsm at bruge makroerne efter genåbning af filen. Hvis du glemmer, minder Excel dig om det, hver gang du prøver at gemme. Du skal også aktivere makroer, hver gang du åbner filen.

Manuel manuel optagelse af en makro i Excel på Mac

Selvom du kan kode makroer, er det måske ikke for alle. Hvis du ikke er klar til at begynde at arbejde med VBA, giver Excel dig mulighed for at registrere trinene til din makro på et eksisterende ark. Klik på fanen Udvikler for at se dine muligheder.

Du leder efter den tredje mulighed i båndet, Optag makro. Klik på dette, og der vises en dialog, der giver dig mulighed for at navngive din makro og indstille en tastaturgenvej. Du kan omfatte din makro til Nuværende arbejdsbog, -en Ny arbejdsbog, eller i din Personal Macro Workbook. Personal Macro Workbook findes i din brugerprofil og giver dig mulighed for at bruge dine makroer mellem dine filer.

Når du har registreret dine handlinger, er de tilgængelige på denne samme fane. Ved at klikke på makroer vises de gemte makroer i din projektmappe. Klik på dit makronavn, og klik på Løb for at køre dine indspillede handlinger.

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

Som et eksempel på en makro vil du køre gennem et daglig salgsark med salget opdelt efter timesatser. Din makro vil tilføje et daglig salgssumaltal og derefter tilføje et gennemsnit i den sidste kolonne i hver timeperiode. Hvis du arbejder i detailsalg eller anden salgsposition, er dette et nyttigt ark til at spore indtægterne.

Vi er nødt til at opsætte det første ark. Brug af dette første tomt som en skabelon til at kopiere til en ny fane hver dag kan spare dig lidt tid. I den første kolonne / række sætter Time / Date. På tværs af toppen tilføjes mandag til fredag.

Derefter anbringes i den første kolonne en nedbrydning af timesatserne fra 8-5. Jeg brugte 24-timers tid, men du kan bruge AM / PM-notation, hvis du foretrækker det. Dit ark skal matche skærmbilledet ovenfor.

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 = SLUMPMELLEM (10,1000) i alle cellerne for at oprette dummy-data.) Klik derefter på Udvikler i båndet.

Klik derefter på Optag makro. Indtast navnet i dialogboksen som AverageandSum og lad det være gemt i Denne arbejdsbog. 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 på OK for at starte opsætningen af ​​makroen.

Nederst i timelisterne indtastes Daglige totaler. Indtast i cellen ved siden af = SUM (B2: B10). Kopier og indsæt derefter det i resten af ​​kolonnerne. Tilføj derefter i overskriften Gennemsnit efter den sidste kolonne. Indtast derefter i den næste celle nede = Middel (B2: F2). Indsæt derefter det i cellerne i resten af ​​kolonnen.

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

Dette eksempel kan spare dig for et par trin, men til mere komplekse handlinger, der kan tilføjes. Hvis du udfører de samme handlinger på data med identisk formatering, skal du bruge optagede makroer.

VBA-makroer i Excel på Mac

Manuelt indspillede 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.

Føj endnu en time og dag til arket, og kør makroen. Du vil se makroen overskrive dine nye data. Den måde, vi kommer os omkring på dette på, er at bruge kode til at gøre makroen mere dynamisk ved hjælp af VBA, som er en nedfældet version af Visual Basic. Implementeringen fokuserer på automatisering til Office.

Det er ikke så let at hente som Applescript Hvad er AppleScript? Skrivning af dit første Mac-automatiserings script Hvad er AppleScript? Skrivning af dit første Mac-automatiserings script AppleScript kan hjælpe dig med at automatisere gentagne opgaver på din Mac. Her er en oversigt, og hvordan du skriver dit første AppleScript-script. , men Kontors automatisering er helt bygget omkring Visual Basic. Så når du først har arbejdet med det her, er du hurtigt i stand til at vende dig rundt og bruge den i andre Office-apps. (Det kan også være en stor hjælp, hvis du sidder fast med en Windows-pc på arbejdet.)

Når du arbejder med VBA i Excel, har du et separat vindue. Skærmbillede ovenfor er vores optagede makro, som det vises i kodeditoren. Den vinduet tilstand kan være nyttigt at lege med din kode, mens du lærer. Når din makro hænger op, er der fejlfindingsværktøjer til at se på status for dine variabler og arkdata.

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

Eksempel 2: Dagligt salg i alt og gennemsnit pr. Time med kode

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

Skift tilbage til det tomme 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å Knap. Klik derefter et eller andet sted i arket på skabelonen for at placere knappen. Makro-menuen kommer op, navngiv din makro og klik Ny.

Visual Basic-vinduet åbnes; du vil se det angivet som Module2 i projektbrowseren. Kodepanelet har Sub AverageandSumButton () øverst og et par linjer nede Afslut under. Din kode skal gå mellem disse to, da det er begyndelsen og slutningen af ​​din makro.

Trin 1: Deklarerende variabler

For at begynde skal du erklære alle dine variabler. Disse er i kodeblokken nedenfor, men en note om, hvordan de er konstrueret. Du skal deklarere alle variabler ved hjælp af Svag før navnet, og derefter som med datatypen.

Sub AverageandSumButton () Dim RowPlaceHolder Som Heltal Dim ColumnPlaceHolder Som Heeltal Dim StringHolder As String Dim AllCells Som Range Dim Target Cells Som Range Dim AverageTarget As Range Dim SumTarget As Range 

Nu hvor du har alle dine variabler, skal du bruge nogle af rækkevariablerne med det samme. Områder er objekter, der indeholder dele af regnearket som adresser. Variablen Alle celler indstilles til alle de aktive celler på arket, der inkluderer kolonne- og rækkeetiketter. Du får dette ved at ringe til ActiveSheet objekt, og så er det UsedRange ejendom.

Problemet er, at du ikke ønsker de etiketter, der er inkluderet i gennemsnittet og summen data. I stedet bruger du en undergruppe af AllCells-serien. Dette vil være TargetCells-serien. Du erklærer manuelt dens rækkevidde. Dens startadresse bliver cellen på den anden række i den anden kolonne i området.

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

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

Trin 2: For hver sløjfe

De næste to kodesektioner er for hver De absolutte grundlæggende programmering for begyndere (del 2) De absolutte grundlæggende programmering for begyndere (del 2) I del 2 i vores absolutte begynderguide til programmering vil jeg dække det grundlæggende i funktioner, returværdier, sløjfer og kondensatorer. Sørg for, at du har læst del 1, før du takler dette, hvor jeg forklarede ... løkkerne. Disse sløjfer går gennem et objekt for at handle på hver delmængde af det pågældende objekt. I dette tilfælde laver du to af dem, en for hver række og en for hver kolonne. Da de næsten er nøjagtig de samme, er der kun en af ​​dem her; men begge er i kodeblokken. Detaljerne er næsten identiske.

Før du starter loopen for hver række, skal du indstille målsøjlen, hvor løkken skriver gennemsnittet for hver række. Du bruger ColumnPlaceHolder variabel for at indstille dette mål. Du indstiller det lig med Tælle variabel af celler klasse af AllCells. Tilføj en til den for at flytte den til højre for dine data ved at tilføje +1.

Derefter skal du starte loopen ved hjælp af For hver. Derefter vil du oprette en variabel til delmængden, i dette tilfælde, subRow. Efter I, vi indstiller det vigtigste objekt, vi analyserer TargetCells. Tilføj .rækker i slutningen for at begrænse løkken til kun hver række i stedet for hver celle i området.

Inde i løkken bruger du ActiveSheet.Cells-metoden til at indstille et specifikt mål på arket. Koordinaterne indstilles ved hjælp af subRow.Row for at få den række, som løkken er i øjeblikket i. Derefter bruger du ColumnPlaceHolder for den anden koordinat.

Du bruger dette til alle tre trin. Den første du tilføjer .værdi efter parenteserne og indstillet lig med WorksheetFunction.Average (subRow). Dette skriver formlen for gennemsnittet af rækken ind i din målcelle. Den næste linje, du tilføjer .Stil og sæt det lig med “betalingsmiddel”. Dette trin matcher resten af ​​dit ark. På den sidste linje tilføjer du .Font.Bold og indstil det til Rigtigt. (Bemærk, at der ikke er citater omkring denne, da det er den boolske værdi.) Denne linje fedter skrifttypen for at få oversigtsinfo til at skille sig ud fra resten af ​​arket.

Begge trin findes i kodeeksemplet nedenfor. Den anden løkke skifter rækker for kolonner og ændrer formlen til Sum. Ved hjælp af denne metode binder dine beregninger til formatet på det aktuelle ark. Ellers er det knyttet til størrelsen på det tidspunkt, du optager makroen. Så når du arbejder flere dage eller timer, vokser funktionen med dine data.

 ColumnPlaceHolder = AllCells.Columns.Count + 1 for hver subRow I TargetCells.Rows ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Value = WorksheetFunction.Average (subRow) ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) "ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 for hver subColumn i TargetCells.Columns ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Value = Worksheet. Sum (subColumn) ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Style = "Valuta" ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Font.Bold = "True" Næste subColumn 

Trin 3: Mærk dine resume

Mærk derefter den nye række og kolonne, sæt RowPlaceHolder og ColumnPlaceHolder igen. Brug først AllCells.Row for at få den første række i området og derefter AllCells.Column + 1 for at få den sidste kolonne. Derefter bruger du den samme metode som loopen til at indstille værdien til “Gennemsnitligt salg”. Du bruger også det samme .Font.Bold egenskab for at fremhæve din nye etiket.

Drej derefter den tilbage, indstil dine pladsholdere til den første kolonne og den sidste række, du vil tilføje “Samlet salg”. Du ønsker også at udtrykke dette.

Begge trin findes i kodeblokken nedenfor. Dette er slutningen på den makro, der er noteret af Afslut under. Du skal nu have hele makroen og være i stand til at klikke på knappen for at køre den. Du kan indsætte alle disse kodeblokke i rækkefølge på dit excelark, hvis du vil snyde, men hvor er det sjove i det?

 ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Gennemsnitligt salg" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder). AllCells.Rows.Count + 1 ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Total Sales" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True End Sub 

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

Optagede makroer er dejlige at bruge til forudsigelig gentagelse. Selvom det er noget så simpelt som at ændre størrelsen på alle celler og udpege overskrifter, kan disse spare dig tid.

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

Vil du have mere tidsbesparende regneark-tricks? Lær, hvordan du automatisk fremhæver specifikke data med betinget formatering i Excel Formaterer automatisk data i Excel-regneark med betinget formatering Automatisk formaterer data i Excel-regneark med betinget formatering I Excel's betingede formateringsfunktion kan du formatere individuelle celler i et Excel-regneark baseret på deres værdi. Vi viser dig, hvordan du bruger dette til forskellige hverdagsopgaver. og betinget fremhævning i numre på Mac Sådan bruges betinget formatering i numre på Mac Sådan bruges betinget formatering i numre på Mac Betinget formatering får dine regneark til at skille sig ud. Her er, hvordan du bruger betinget formatering i Numbers på Mac. .




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.