Bruk makroer i Excel på Mac for å spare tid og gjøre mer

Bruk makroer i Excel på Mac for å spare tid og gjøre mer

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





Fra 2013 tok Microsoft tilbake makroer. Det er to typer makroer: de du kan lage ved å registrere handlingene dine raskt, og de som bruker VBA til å 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 ta en titt på hvordan dette for øyeblikket fungerer på macOS.





wifi -app som bruker nummeret ditt

Aktivering av makroer i Excel på Mac

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

Klikk på utmerke i menylinjen, og velg deretter Preferanser i rullegardinmenyen. Klikk på i menyen Bånd og verktøylinje . I listen til høyre, Utvikler skal være nederst, klikker du i avmerkingsboksen. Til slutt klikker du Lagre og du bør se kategorien Utvikler dukke opp på slutten av båndet.



Etter at 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 det, vil Excel minne deg på hver gang du prøver å lagre. Du må også aktivere makroer hver gang du åpner filen.

Ta opp en makro manuelt i Excel på Mac

Selv om 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å Utvikler -fanen for å se alternativene dine.





Du leter etter det tredje alternativet i båndet, Ta opp makro . Klikk på dette, og en dialogboks dukker opp slik at du kan navngi makroen og angi en hurtigtast. Du kan omfatte makroen til Gjeldende arbeidsbok , til Ny arbeidsbok , eller i din Personlig makro arbeidsbok . Personal Macro Workbook er i brukerprofilen din og lar deg bruke makroene mellom filene dine.

Når du har registrert handlingene dine, er de tilgjengelige på samme fane. Hvis du klikker på makroer, vises de lagrede makroene i arbeidsboken. Klikk på makronavnet og klikk Løpe for å kjøre de registrerte handlingene dine.





Eksempel 1: Totalt daglig salg og timegjennomsnitt

For en eksempelmakro kommer du til å gå gjennom et daglig salgsark, med salget fordelt på timetotaler. Makroen din vil legge til en daglig salgssum, og deretter legge til et gjennomsnitt i den siste kolonnen i hver time -periode. Hvis du jobber i detaljhandel eller annen salgsposisjon, er dette et nyttig ark for å spore inntekter.

Vi må sette opp det første arket. Hvis du bruker dette første emnet som en mal for å kopiere til en ny fane hver dag, kan du spare tid. Sett time/dato i den første kolonnen/raden. På toppen legger du til mandag til fredag.

Sett deretter i den første kolonnen en neddeling av timetotaler fra 8-5. Jeg brukte 24-timers tid, men du kan bruke AM/PM-notasjon hvis du foretrekker det. Arket ditt skal matche skjermbildet ovenfor.

Legg til en ny fane, og kopier malen din til den. Fyll deretter ut salgsdataene dine 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å Ta opp makro . Skriv inn navnet som i dialogboksen Gjennomsnitt og sum og la den lagres i Denne arbeidsboken . Du kan angi en hurtigtast hvis du vil. Du kan angi en beskrivelse hvis du trenger mer informasjon om hva makroen gjør. Klikk OK for å begynne å sette opp makroen.

Nederst i timelistene skriver du inn Daglige totaler . Skriv inn i cellen ved siden av = SUMME (B2: B10) . Kopier og lim det inn i resten av kolonnene. Deretter legger du til i overskriften Gjennomsnitt etter den siste kolonnen. Deretter skriver du inn i den neste cellen = Gjennomsnitt (B2: F2) . Lim det deretter inn i cellene i resten av kolonnen.

Klikk deretter Stopp innspillingen . Makroen din kan nå brukes på hvert nytt ark du legger til i arbeidsboken din. Når du har et nytt datablad, går du tilbake til Utvikler og klikk Makroer . Makroen din bør 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 utfører de samme operasjonene på data med identisk formatering, bruker du innspilte makroer.

VBA -makroer i Excel på Mac

Manuelt registrerte makroer i Excel hjelper 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 til å bevise problemet.

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

Det er ikke som lett å hente som Applescript , men Office's automatisering er helt bygget rundt Visual Basic. Så når du jobber 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 arbeider med VBA i Excel, har du et eget vindu. Skjermbildet ovenfor er vår innspilte makro slik den vises i kodeditoren. Den vindusmodusen kan være nyttig å leke med koden din mens du lærer. Når makroen blir lagt på, er det feilsøkingsverktøy for å se på tilstanden til variablene og arkdataene.

Office 2016 kommer nå med hele Visual Basic -redaktøren. Den lar deg bruke Object Browser og feilsøkingsverktøy som tidligere var begrenset til Windows -versjonen. Du får tilgang til objektleseren ved å gå til Vis> Objektleser eller bare trykk Shift + Command + B . Du kan deretter bla gjennom alle klassene, metodene og egenskapene som er tilgjengelige. Det var veldig nyttig for å konstruere koden i neste avsnitt.

Eksempel 2: Totalt daglig salg og timegjennomsnitt med kode

Før du begynner å kode makroen, la oss starte med å legge til en knapp i malen. Dette trinnet gjør det mye lettere for en nybegynner å få tilgang til makroen din. De kan klikke på en knapp for å ringe makroen i stedet for å grave i fanene og menyene.

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

Visual Basic -vinduet åpnes; du vil se det oppført som Modul 2 i prosjektleseren. Koderuten vil ha Sub AverageandSumButton () på toppen og noen få linjer ned Slutt Sub . Koden din må gå mellom disse to, siden den er begynnelsen og slutten på makroen din.

Trinn 1: Deklarere variabler

For å begynne må du deklarere alle variablene dine. Disse er i kodeblokken nedenfor, men et notat om hvordan de er konstruert. Du bør deklarere alle variablene ved å bruke Ingen før navnet, og deretter 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

Nå som du har alle variablene dine, må du bruke noen av områdevariablene med en gang. Områder er objekter som inneholder deler av regnearket som adresser. Variabelen Alle celler blir satt til alle de aktive cellene på arket, som inkluderer kolonne- og radetiketter. Du får dette ved å ringe til Aktivt ark objektet og så er det UsedRange eiendom.

Problemet er at du ikke vil ha etikettene inkludert i gjennomsnitts- og sumdata. I stedet bruker du et delsett av AllCells -serien. Dette vil være TargetCells -serien. Du deklarerer rekkevidden manuelt. Startadressen kommer til å være cellen i den andre raden i den andre kolonnen i området.

Du kaller dette ved å ringe din AllCells rekkevidde, ved å bruke sin Celler klasse for å få den spesifikke cellen ved hjelp av (2.2) . For å få den siste cellen i området, vil du fortsatt ringe AllCells . Denne gangen bruker Spesielle celler metode for å få eiendommen xlCellTypeLastCell . Du kan se begge disse i kodeblokken nedenfor.

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

Trinn 2: For hver sløyfe

De to neste delene av koden er For Every loops. Disse løkkene går gjennom et objekt for å virke på hver delsett 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 praktisk talt identiske.

Før du starter løkken for hver rad, må du angi målkolonnen der løkken skriver gjennomsnittet av hver rad. Du bruker KolonneStedHolder variabel for å angi 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 den til +1 .

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

Inne i løkken bruker du metoden ActiveSheet.Cells til å angi et bestemt mål på arket. Koordinatene settes ved å bruke subRow.Row for å få raden sløyfen er i. Deretter bruker du KolonneStedHolder for den andre koordinaten.

Du bruker dette for alle tre trinnene. Det første du legger til .verdi etter parentesene og sett lik RegnearkFunksjon.Gjennomsnitt (subRow) . Dette skriver formelen for gjennomsnittet av raden i målcellen. Den neste linjen du legger til .Stil og sett det til 'Valuta' . Dette trinnet samsvarer med resten av arket. På den siste linjen legger du til .Font.Fet og sett den lik ekte . (Vær oppmerksom på at det ikke er anførselstegn rundt dette, ettersom det er den boolske verdien.) Denne linjen viser skriften fet, slik at sammendragsinformasjonen 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 på gjeldende ark. Ellers er den knyttet til størrelsen på det tidspunktet du spiller inn makroen. Så når du jobber flere dager eller timer, vokser funksjonen med dataene dine.

amazon ordre levert, men ikke mottatt
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

Trinn 3: Merk dine sammendrag

Merk deretter den nye raden og kolonnen, sett RowPlaceHolder og KolonneStedHolder en gang til. Først, bruk AllCells.Row for å få den første raden i området, og deretter AllCells.Column+1 for å få den siste kolonnen. Deretter bruker du samme metode som sløyfen for å sette verdien til 'Gjennomsnittlig salg' . Du vil også bruke det samme .Font.Fet eiendom for å markere den nye etiketten.

Deretter reverserer du det og setter plassholderne til den første kolonnen og den siste raden du vil legge til 'Totale salg' . Du vil også fet dette.

Begge trinnene er i kodeblokken nedenfor. Dette er slutten på makroen notert av Slutt Sub . Du bør nå ha hele makroen, og kunne klikke på knappen for å kjøre den. Du kan lime inn alle disse kodeblokkene i orden i Excel -arket hvis du vil jukse, men hvor er moroa 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

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

Registrerte makroer er flotte å bruke for forutsigbar gjentakelse. Selv om det er noe så enkelt som å endre størrelsen på alle celler og fet skrift, kan disse spare deg for tid. Bare unngå vanlige makrofeil .

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ålmodigheten, kan dette være døråpningen til mer avansert programmering.

Vil du ha flere tidsbesparende regneark-triks? Lær hvordan du markerer spesifikke data automatisk med betinget formatering i Excel og betinget utheving i Numbers på Mac.

Dele Dele kvitring E -post 3 måter å sjekke om en e -post er ekte eller falsk

Hvis du har mottatt en e -post som ser litt tvilsom ut, er det alltid best å sjekke ektheten. Her er tre måter å fortelle om en e -post er ekte.

Les neste
Relaterte temaer
  • Mac
  • Produktivitet
  • Programmering
  • Visual Basic programmering
  • Microsoft Excel
Om forfatteren Michael McConnell(44 artikler publisert)

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

Mer fra Michael McConnell

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere