Annonse

Excel på Mac har ikke alltid vært det samme kraftsenteret som det var på Windows. Makroer ville virkelig ikke fungert med mindre de ble opprettet eksklusivt for Mac.

Fra 2013 brakte Microsoft tilbake makroer. Det er to typer makroer: de du kan opprette ved raskt å registrere handlingene dine, og de som bruker VBA for å designe mer avanserte automatiseringer. Med Office 2016 bruker Excel samme kodebase på alle plattformer. Denne endringen vil gjøre det lettere for makroer å jobbe på tvers av plattformer.

Så la oss se på hvordan dette fungerer på macOS.

Aktivere makroer i Excel på Mac

Å arbeide med makroer i Excel på Mac-en er kanskje ikke aktivert som standard. Denne innstillingen er fordi makroer kan være en mulig skadelig vektor. Den enkleste måten å fortelle er å se om du har det Utvikler fanen tilgjengelig på båndet i Excel. Hvis du ikke ser det, er det enkelt å aktivere.

makroer i Excel på mac for å spare tid

Klikk på utmerke i menylinjen, og velg deretter Preferanser i rullegardinmenyen. Klikk på menyen Bånd og verktøylinje

instagram viewer
. I listen til høyre Utvikler bør være i bunnen, klikk i avmerkingsruten. Til slutt, klikk Lagre og du bør se Developer-fanen vises på slutten av båndet.

Når du har opprettet hver arbeidsbok med makroer, lagrer du den i et nytt format .xlsm å bruke makroene etter å ha åpnet filen på nytt. Hvis du glemmer, vil Excel minne deg hver gang du prøver å lagre. Du må også aktivere makroer hver gang du åpner filen.

Innspilling av en makro manuelt i Excel på Mac

Skjønt du kan kode makroer, det er kanskje ikke for alle. Hvis du ikke er klar til å begynne å jobbe med VBA, lar Excel deg registrere trinnene for makroen din i et eksisterende ark. Klikk på kategorien Utvikler for å se alternativene.

makroer i Excel på mac for å spare tid

Du leter etter det tredje alternativet i båndet, Spille inn makro. Klikk på dette, så dukker det opp en dialog der du kan navngi makroen og angi en snarvei. Du kan omfatte makroen til Gjeldende arbeidsbok, a Ny arbeidsbok, eller i din Personlig makroarbeidsbok. Personal Macro Workbook er i brukerprofilen din, og lar deg bruke makroene dine mellom filene dine.

Når du har registrert handlingene dine, er de tilgjengelige på den samme fanen. Ved å klikke på makroer vil du få opp lagrede makroer i arbeidsboka. Klikk på makronavnet og klikk Løpe å kjøre innspilte handlinger.

Eksempel 1: Daglig salg totalt og times gjennomsnitt

For et eksempel på makro, skal du gå gjennom et daglig salgsark, med salget fordelt på totalt antall timer. Makroen din vil legge til et daglig salgssum, og deretter legge til et gjennomsnitt i den siste kolonnen i hver timeperiode. Hvis du jobber i detaljhandel eller annen salgsposisjon, er dette et nyttig ark for å spore inntektene.

Vi må sette opp det første arket. Hvis du bruker dette første emnet som mal for å kopiere til en ny fane hver dag, kan du spare litt tid. I den første kolonnen / raden sett Hour / Date. Over toppen legger mandag til fredag.

Deretter i den første spalten legger du et brudd på timesumene fra 8-5. Jeg brukte 24-timers tid, men du kan bruke AM / PM-notasjon hvis du foretrekker det. Arket ditt skal samsvare med skjermdumpet over.

makroer i Excel på mac for å spare tid

Legg til en ny fane, og kopier malen din inn i den. Fyll deretter ut salgsdata for dagen. (Hvis du ikke har data for å fylle ut dette arket, du kan gå inn = RandBetween (10,1000) i alle cellene for å lage dummy-data.) Klikk deretter på Utvikler i båndet.

Klikk deretter på Spille inn makro. Skriv inn navnet i dialogboksen AverageandSum og la den være lagret i Denne arbeidsboka. Du kan angi en snarveistast hvis du vil. Du kan legge inn en beskrivelse hvis du trenger mer informasjon om hva makroen gjør. Klikk OK for å begynne å sette opp makroen.

Nederst i timelistene går du inn Daglige totaler. Skriv inn cellen ved siden av = SUM (B2: B10). Kopier og lim deretter inn i resten av kolonnene. Legg deretter til i overskriften Gjennomsnitt etter den siste kolonnen. Deretter i neste celle nede, skriv inn = Gjennomsnitt (B2: F2). Lim deretter det inn i cellene i resten av kolonnen.

Klikk deretter Stopp innspillingen. Makroen din kan nå brukes på hvert nytt ark du legger til arbeidsboka. Når du har et nytt ark med data, gå tilbake til Utvikler og klikk makroer. Makroen din skal utheves, klikk på Kjør for å legge til summer og gjennomsnitt.

Dette eksemplet kan spare deg for et par trinn, men for mer komplekse handlinger som kan legge opp. Hvis du gjør de samme operasjonene på data med identisk formatering, bruker du innspilte makroer.

VBA-makroer i Excel på Mac

Manuelt registrerte makroer i Excel hjelper deg med data som alltid er i samme størrelse og form. Det er også nyttig hvis du vil utføre handlinger på hele arket. Du kan bruke makroen din for å bevise problemet.

makroer i Excel på mac for å spare tid

Legg til en time og dag på arket og kjør makroen. Du vil se makroen overskrive de nye dataene dine. Måten vi kommer oss rundt på dette er å bruke kode for å gjøre makroen mer dynamisk ved hjelp av VBA, som er en slanket versjon av Visual Basic. Implementeringen fokuserer på automatisering for Office.

makroer i Excel på mac for å spare tid

Det er ikke som enkelt å plukke opp som Applescript Hva er AppleScript? Skrive ditt første Mac-automatiseringsskriptAppleScript kan hjelpe deg med å automatisere repeterende oppgaver på Mac-en. Her er en oversikt og hvordan du skriver det første AppleScript-skriptet ditt. Les mer , men Kontors automatisering er helt bygd rundt Visual Basic. Så når du først har jobbet med det her, kan du raskt snu og bruke det i andre Office-apper. (Det kan også være en stor hjelp hvis du sitter fast med en Windows-PC på jobb.)

Når du jobber med VBA i Excel, har du et eget vindu. Skjermdumpet over er vår innspilte makro slik den vises i kodeditoren. Vindusmodus kan være nyttig å leke med koden mens du lærer. Når makroen din blir hengt opp, er det feilsøkingsverktøy for å se på tilstanden til variablene og arkdataene dine.

Office 2016 kommer nå med den fullstendige Visual Basic-redigereren. Den lar deg bruke Object Browser og feilsøkingsverktøy som tidligere var begrenset til Windows-versjonen. Du kan få tilgang til Object Browser ved å gå til Vis> Objektleser eller bare trykk Skift + Kommando + B. Du kan deretter bla gjennom alle tilgjengelige klasser, metoder og egenskaper. Det var veldig nyttig når du konstruerte koden i neste avsnitt.

Eksempel 2: Daglig salg totalt og times gjennomsnitt med kode

La oss begynne med å legge til en knapp i malen før du begynner å kode makroen. Dette trinnet gjør det mye enklere for en nybegynner å få tilgang til makroen din. De kan klikke på en knapp for å ringe makroen i stedet for å grave i kategoriene og menyene.

makroer i Excel på mac for å spare tid

Bytt tilbake til det tomme malarket du opprettet i siste trinn. Klikk på Utvikler for å komme tilbake til fanen. Når du er på fanen, klikker du på Knapp. Deretter klikker du et sted i arket på malen for å plassere knappen. Makrosmenyen kommer opp, navngi makroen og klikk Ny.

Visual Basic-vinduet åpnes; vil du se den oppført som Module2 i prosjektleseren. Kodepanelet vil ha Sub AverageandSumButton () øverst og noen få linjer nede Slutt sub. Koden din må gå mellom disse to, ettersom det er begynnelsen og slutten på makroen.

Trinn 1: Deklarere variabler

For å begynne, må du gjøre det erklære alle variablene dine. Disse er i kodeblokken nedenfor, men en merknad om hvordan de er konstruert. Du bør deklarere alle variabler ved å bruke Dim før navnet, og da som med datatypen.

Sub AverageandSumButton () Dim RowPlaceHolder As Integer Dim ColumnPlaceHolder As Integer Dim StringHolder Som streng Dim AllCells Som Range Dim TargetCells As Range Dim Gjennomsnittlig mål Som Range Dim SumTarget As Område. 

Nå som du har alle variablene dine, må du bruke noen av rekkevariablene med en gang. Områder er objekter som inneholder deler av regnearket som adresser. Variabelen Alle celler vil bli satt til alle de aktive cellene på arket, som inkluderer kolonne- og radetikettene. Dette får du ved å ringe til Aktivt ark objekt og så er det UsedRange eiendom.

Problemet er at du ikke vil at etikettene skal være inkludert i gjennomsnitts- og sumdataene. I stedet vil du bruke et underett av AllCells-serien. Dette vil være TargetCells-serien. Du erklærer rekkevidden manuelt. Startadressen blir cellen på den andre raden i den andre kolonnen i området.

Du kaller dette ved å ringe ditt AllCells rekkevidde, bruker dets celler klasse for å få den spesifikke cellen ved å bruke (2,2). For å få den endelige cellen i området, ringer du fremdeles AllCells. Denne gangen bruker SpecialCells metode for å skaffe eiendommen xlCellTypeLastCell. Du kan se begge disse i kodeblokken nedenfor.

 Angi AllCells = ActiveSheet. UsedRange Angi TargetCells = Range (AllCells. Celler (2, 2), AllCells. Spesielle celler (xlCellTypeLastCell))

Trinn 2: For hver sløyfe

De neste to seksjonene av koden er for hver De absolutte grunnleggende programmene for nybegynnere (del 2)I del 2 av vår absolutte nybegynnerveiledning for programmering vil jeg dekke det grunnleggende om funksjoner, returverdier, løkker og kondisjoner. Forsikre deg om at du har lest del 1 før du takler dette, der jeg forklarte ... Les mer sløyfer. Disse løkkene går gjennom et objekt for å handle på hvert undersett av objektet. I dette tilfellet gjør du to av dem, en for hver rad og en for hver kolonne. Siden de er nesten nøyaktig de samme, er bare en av dem her; men begge er i kodeblokken. Detaljene er tilnærmet identiske.

Før du starter loopen for hver rad, må du angi målsøylen der loopen skriver gjennomsnittet for hver rad. Du bruker ColumnPlaceHolder variabel for å sette dette målet. Du setter den lik Telle variabel av celler klasse av AllCells. Legg til en for å flytte den til høyre for dataene dine ved å legge ved +1.

Deretter skal du starte sløyfen ved å bruke For hver. Da vil du opprette en variabel for delmengden, i dette tilfellet, subRow. Etter I, setter vi hovedobjektet vi analyserer TargetCells. Append .Rows på slutten for å begrense sløyfen til bare hver rad, i stedet for hver celle i området.

Inne i løkka bruker du ActiveSheet. Cells-metode for å sette et spesifikt mål på arket. Koordinatene settes ved bruk av subRow. Rad for å få raden løkken er i for øyeblikket. Deretter bruker du ColumnPlaceHolder for den andre koordinaten.

Du bruker dette i alle tre trinn. Den første du legger ved .verdi etter parentesene og sett lik WorksheetFunction. Gjennomsnitt (subRow). Dette skriver formelen for gjennomsnittet av raden inn i målcellen. Neste linje legger du til .Stil og sett det lik "Valuta". Dette trinnet samsvarer med resten av arket ditt. På den siste linjen legger du ved .Font. Modig og sett den lik ekte. (Merk at det ikke er anførselstegn rundt denne, ettersom det er den boolske verdien.) Denne linjen uthevet skriften for å gjøre sammendragsinfo skiller seg ut fra resten av arket.

Begge trinnene er i kodeeksemplet nedenfor. Den andre sløyfen bytter rader for kolonner og endrer formelen til Sum. Ved å bruke denne metoden knytter du beregningene til formatet til det gjeldende arket. Ellers er det knyttet til størrelsen på det tidspunktet du registrerer makroen. Så når du jobber flere dager eller timer, vokser funksjonen med dataene dine.

 ColumnPlaceHolder = AllCells. Kolonner. Telle + 1 for hver subRow i TargetCells. Rader ActiveSheet. Celler (subRow. Row, ColumnPlaceHolder) .Value = WorksheetFunction. Gjennomsnittlig (subRow) ActiveSheet. Celler (subRow. Rad, kolonnePlaceHolder) .Style = "Valuta" ActiveSheet. Celler (subRow. Rad, kolonnePlaceHolder) .ont. Fet = Sann Neste subRow RowPlaceHolder = AllCells. Rader. Telle + 1 for hver underkolonne i målceller. Kolonner ActiveSheet. Celler (RowPlaceHolder, subColumn. Kolonne) .Value = WorksheetFunction. Sum (subkolonne) ActiveSheet. Celler (RowPlaceHolder, subColumn. Kolonne) .Style = "Valuta" ActiveSheet. Celler (RowPlaceHolder, subColumn. Kolonne) .Font. Fet = "True" Neste underkolonne. 

Trinn 3: Merk dine oppsummeringer

Neste, merk den nye raden og kolonnen, sett RowPlaceHolder og ColumnPlaceHolder en gang til. Bruk først AllCells. Rad for å få den første raden i området, og deretter AllCells. Kolonne + 1 for å få den siste kolonnen. Deretter vil du bruke samme metode som loopen for å sette verdien til “Gjennomsnittlig salg”. Du vil også bruke det samme .Font. Modig for å uthevet den nye etiketten.

makroer i Excel på mac for å spare tid

Deretter reverserer du den og stiller plassholderne til den første kolonnen og den siste raden du vil legge til "Totale salg". Du vil også fet ut dette.

Begge trinnene er i kodeblokken nedenfor. Dette er slutten på makroen som er notert av Slutt sub. Du burde gjøre det nå ha hele makroen, og kunne klikke på knappen for å kjøre den. Du kan lime inn alle disse kodeblokkene i excelarket ditt hvis du vil jukse, men hvor er moroa i det?

 ColumnPlaceHolder = AllCells. Kolonner. Count + 1 RowPlaceHolder = AllCells. Rad ActiveSheet. Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Gjennomsnittlig salg" ActiveSheet. Cells (RowPlaceHolder, ColumnPlaceHolder) .ont. Fet = True ColumnPlaceHolder = AllCells. Column RowPlaceHolder = AllCells. Rader. Telle + 1 ActiveSheet. Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Totalt salg" ActiveSheet. Cells (RowPlaceHolder, ColumnPlaceHolder) .ont. Fet = sant. Slutt sub. 

Hva er det neste for makroer i Excel på Mac?

Innspilte makroer er gode å bruke for forutsigbar repetisjon. Selv om det er noe så enkelt som å endre størrelse på alle celler og utheving av overskrifter, kan dette spare deg for tid. Bare unngå vanlige makrofeil 4 feil som må unngås når du programmerer Excel-makroer med VBAEnkel kode er viktig for Microsoft Excel-strømbrukere. Men hvordan kan du lage eller trygt avslutte en for loop ved hjelp av VBA i Excel? Les mer .

Visual Basic åpner døren for Mac Excel-brukere for å grave dypt ned i Office-automatisering. Visual Basic var tradisjonelt bare tilgjengelig på Windows. Det lar makroene dine tilpasse seg dataene dynamisk, noe som gjør dem mer allsidige. Hvis du har tålmodighet, kan dette være døren til mer avansert programmering.

Vil du ha mer tidsbesparende regnearktriks? Lær hvordan du markerer bestemte data automatisk med betinget formatering i Excel Formater automatisk data i Excel-regneark med betinget formateringExcel's betingede formateringsfunksjon lar deg formatere individuelle celler i et Excel-regneark basert på verdien. Vi viser deg hvordan du bruker dette til forskjellige hverdagsoppgaver. Les mer og betinget utheving i Numbers på Mac Hvordan bruke betinget formatering i nummer på MacBetinget formatering gjør at regnearkene skiller seg ut. Slik bruker du betinget formatering i Numbers på Mac. Les mer .

Michael brukte ikke en Mac da de ble dømt, men han kan kode i Applescript. Han har grader innen informatikk og engelsk; han har skrevet om Mac, iOS og videospill i en stund nå; og han har vært IT-ape på dagtid i over et tiår, og spesialisert seg på skripting og virtualisering.