Bruk makroer i Excel på Mac for å spare tid og gjør mer
Excel på Mac har ikke alltid vært det samme kraftverket det var på Windows. Makroer ville egentlig ikke fungere med mindre de ble opprettet utelukkende for Mac.
Starter i 2013, brakte Microsoft tilbake makroer. Det finnes to typer makroer: de du kan opprette ved raskt å registrere dine handlinger, og de som bruker VBA til å designe mer avanserte automasjoner. Med Office 2016 bruker Excel samme kodebase på alle plattformer. Denne endringen gjør det enklere for makroer å arbeide på tvers av plattformer.
Så la oss se på hvordan dette for øyeblikket fungerer på macOS.
Aktiverer 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 malware-vektor. Slik beskytter du deg mot Microsoft Word-skadelig programvare. Slik beskytter du deg mot Microsoft Word-skadelig programvare. Visste du at datamaskinen din kan bli smittet av ondsinnede Microsoft Office-dokumenter, eller at du kan bli bedt om å aktivere Innstillingene de trenger for å infisere datamaskinen? Les mer . Den enkleste måten å fortelle 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å menyen i menyen Bånd og verktøylinje. I den høyre listen, Utvikler bør være nederst, klikk avkrysningsboksen. Til slutt klikker du Lagre og du bør se fanen Utvikler vises i slutten av båndet.
Når du har opprettet hver arbeidsbok med makroer, lagrer du det i et nytt format .xlsm å bruke makroene etter gjenåpning av filen. Hvis du glemmer, vil Excel minne deg om hver gang du prøver å lagre. Du må også aktivere makroer hver gang du åpner filen.
Manuelt innspilling av en makro i Excel på Mac
Selv om du kan kode makroer 4 Feil du kan unngå når du programmerer Excel Makroer med VBA 4 feil du kan unngå når du programmerer Excel Makroer med VBA Enkel kode og makroer er nøklene til Microsoft Excel supermakt. Selv ikke-programmører kan enkelt legge til imponerende funksjonalitet i regnearkene med Virtual Basics for Applications (VBA). Bare unngå disse programmeringsbegynnerfeilene! Les mer, det kan ikke være 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 din og angi en hurtigtast. Du kan omfatte makroen din til Nåværende arbeidsbok, en Ny arbeidsbok, eller i din Personlig makro arbeidsbok. Den personlige makro arbeidsboken er i brukerprofilen din og lar deg bruke makroene mellom filene dine.
Når du har tatt opp dine handlinger, er de tilgjengelige på denne samme kategorien. Hvis du klikker på makroer, hentes de lagrede makroene i arbeidsboken din. Klikk på makronavnet ditt og klikk Løpe å kjøre dine innspilte handlinger.
Eksempel 1: Daglig salg Totalt og Gjennomsnittlig Gjennomsnittlig
For et eksempel makro, skal du løpe gjennom et daglig salgsliste, med salget fordelt på timetall. Makroen din skal legge til en daglig salgssum, og deretter legge til et gjennomsnitt i den siste kolonnen for hver timeperiode. Hvis du jobber i detaljhandel eller annen salgsposisjon, er dette et nyttig ark for å spore inntekter.
Vi må sette opp det første arket. Bruk av denne første blank som en mal for å kopiere til en ny fane hver dag kan spare deg litt tid. I den første kolonnen / rad setter du Time / Date. Tvers over toppen legg til mandag til fredag.
Deretter i den første kolonnen sette en pause ned av time totaler fra 8-5. Jeg brukte 24-timers tid, men du kan bruke AM / PM-notat hvis du foretrekker det. Ditt ark skal passe til skjermbildet ovenfor.
Legg til en ny kategori, og kopier din mal inn i den. Deretter fyller du ut dine salgsdata for dagen. (Hvis du ikke har data for å fylle dette arket, kan du skrive inn = RANDBETWEEN (10,1000) i alle cellene for å lage dummy data.) Deretter klikker du på Utvikler i båndet.
Deretter klikker du på Ta opp makro. I dialogboksen skriver du inn navnet som AverageandSum og la den lagres i Denne arbeidsboken. Du kan angi en snarveisnøkkel hvis du vil. Du kan skrive inn en beskrivelse hvis du trenger mer informasjon om hva makroen gjør. Klikk ok for å begynne å sette opp makroen.
På bunnen av timeliste oppføringer Daglige Totals. I cellen ved siden av den, skriv inn = SUM (B2: B10). Deretter kopierer du og limer det inn i resten av kolonnene. Deretter legger du til i overskriften Gjennomsnitt etter siste kolonne. Deretter i neste celle ned, skriv inn = Gjennomsnitt (B2: F2). Lim deretter det inn i cellene i resten av kolonnen.
Klikk deretter Stopp innspilling. Makroen din kan nå bruke på hvert nytt ark du legger til i arbeidsboken din. Når du har et annet ark med data, gå tilbake til Utvikler og klikk makroer. Makroen din bør bli uthevet, klikk kjør for å legge til summene og gjennomsnittene.
Dette eksempelet kan lagre deg et par trinn, men for mer komplekse handlinger som kan legge til. Hvis du gjør de samme operasjonene på data med identisk formatering, må du bruke 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 til å bevise problemet.
Legg til en annen time og dag på arket og kjør makroen. Du får se at makroen overskriver de nye dataene dine. Måten vi kommer rundt dette, er å bruke kode for å gjøre makroen mer dynamisk ved hjelp av VBA, som er en slanket versjon av Visual Basic 4 Gode nettsider som gjør deg til en visuell grunnleggende guru 4 Gode nettsteder for å gjøre deg til en visuell grunnleggende guru Ønsker du å lære Visual Basic? Her er noen gode ressurser for å komme i gang. Les mer . Implementeringen fokuserer på automatisering for Office.
Det er ikke så lett å plukke opp som Applescript Learn å automatisere Mac med AppleScript [Del 1: Introduksjon] Lær å automatisere Mac med AppleScript [Del 1: Introduksjon] Les mer, men Office automatisering er helt bygget rundt Visual Basic. Så når du jobber med det her, kan du raskt vende om og bruke den 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 over er vår registrerte makro som det vises i kodeditoren. Windowed-modusen kan være nyttig å leke med koden din mens du lærer. Når makroen din blir hengt opp, finnes det feilsøkingsverktøy for å se på tilstandene til variablene og arkdataene.
Office 2016 kommer nå med hele Visual Basic-redaktøren. Det lar deg bruke Object Browser og feilsøkingsverktøy som pleide å være begrenset til Windows-versjonen. Du kan få tilgang til Object Browser ved å gå til Vis> Objektbrowser eller bare trykk Skift + Kommando + B. Du kan deretter bla gjennom alle klassene, metodene og egenskapene som er tilgjengelige. Det var svært nyttig å bygge koden i neste avsnitt.
Eksempel 2: Daglig salg totalt og gjennomsnittlig per time med kode
Før du begynner å kode makroen din, la oss begynne med å legge til en knapp i malen. 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 inn i fanene og menyene.
Bytt tilbake til det tomme malarket du opprettet i det siste trinnet. Klikk på Utvikler å komme tilbake til fanen. Når du er på fanen, klikker du på Knapp. Deretter klikker du et eller annet sted i arket på malen for å plassere knappen. Makromenyen kommer opp, navnet ditt makro og klikk Ny.
Visual Basic Window åpnes; Du vil se det oppført som Module2 i prosjektleseren. Kodruden vil ha Sub AverageandSumButton () på toppen og noen linjer nede Slutt Sub. Koden din må gå mellom disse to, da det er begynnelsen og slutten av makroen din.
Trinn 1: Deklarere variabler
For å begynne med, må du deklarere alle variablene. Grunnleggende om dataprogrammering 101 - Variabler og datatyper Grunnleggende om dataprogrammering 101 - Variabler og datatyper Etter å ha introdusert og snakket litt om Objektorientert programmering før og hvor navneinnehaveren kommer fra, Jeg trodde det er på tide at vi går gjennom det absolutt grunnleggende om programmering på en ikke-språkspesifikk måte. Dette ... Les mer. Disse er i kodeblokken nedenfor, men et notat om hvordan de er konstruert. Du bør erklære alle variabler ved å bruke dim før navnet, og deretter som med datatypen.
Sub AverageandSumButton () Dim RowPlaceHolder Som Integer Dim ColumnPlaceHolder Som Integer Dim StringHolder Som String Dim AllCells Som Range Dim TargetCells Som Range Dim AverageTarget Som Range Dim SumTarget As Range
Nå som du har alle dine variabler, må du bruke noen av rekkeviddevariablene med en gang. Ranger er objekter som holder deler av regnearket som adresser. Variabelen Alle celler vil bli satt til alle aktive celler på arket, som inkluderer kolonne- og radetikettene. Du får dette ved å ringe Aktivt ark objekt og så er det UsedRange eiendom.
Problemet er at du ikke vil at etikettene er inkludert i gjennomsnitt og sumdata. I stedet bruker du en delmengde av AllCells-serien. Dette blir TargetCells-serien. Du erklærer manuelt sitt utvalg. Startadressen kommer til å være cellen i den andre raden i den andre kolonnen i serien.
Du ringer dette ved å ringe din AllCells rekkevidde, ved hjelp av sin celler klasse for å få den spesifikke cellen ved hjelp av (2,2). For å få den endelige cellen i serien, vil du fortsatt ringe AllCells. Denne gangen bruker SpecialCells 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 løkke
De to neste delene av koden er for hver absolutt grunnleggende for programmering for nybegynnere (del 2). Det absolutt grunnleggende for programmering for nybegynnere (del 2) I del 2 av vår absolutte nybegynnereguide til programmering, vil jeg dekke grunnleggende om funksjoner, returverdier, sløyfer og betingelser. Pass på at du har lest del 1 før du takler dette, der jeg forklarte ... Les mer sløyfer. Disse sløyfene går gjennom et objekt for å fungere på hver delmengde av objektet. I dette tilfellet gjør du to av dem, en for hver rad og en for hver kolonne. Siden de er nesten det samme, er bare en av dem her; men begge er i kodeblokken. Detaljerne er nesten identiske.
Før du starter sløyfen for hver rad, må du sette målkolonnen der sløyfen skriver gjennomsnittet av hver rad. Du bruker ColumnPlaceHolder variabel for å angi dette målet. Du setter den lik den Telle variabel av celler klasse av AllCells. Legg til en for å flytte den til høyre for dataene dine ved å legge til vedlegg +1.
Deretter skal du starte sløyfen ved å bruke For hver. Deretter vil du opprette en variabel for delmengden, i dette tilfellet, subRow. Etter I, Vi setter hovedformålet vi analyserer TargetCells. Tilføy .rader på slutten for å begrense sløyfen til bare hver rad, i stedet for hver celle i området.
Innenfor løkken bruker du ActiveSheet.Cells-metoden til å angi et bestemt mål på arket. Koordinatene er satt ved å bruke subRow.Row for å få raden som løkken er i. Deretter bruker du ColumnPlaceHolder for den andre koordinaten.
Du bruker dette for alle tre trinnene. Den første du legger til .verdi etter parentesene og sett lik WorksheetFunction.Average (subRow). Dette skriver formelen for gjennomsnittet av raden i målcellen. Neste linje du legger til .Stil og sett det lik “Valuta”. Dette trinnet samsvarer med resten av arket ditt. På den siste linjen legger du til .Font.Bold og sett det lik ekte. (Merk at det ikke er anførselstegn rundt denne, da det er den boolske verdien.) Denne linjen gir fet skrift for å gjøre oppsummeringsinformasjonen skiller seg ut fra resten av arket.
Begge trinnene er i koden eksempelet nedenfor. Den andre sløyfen bytter rader for kolonner og endrer formelen til Sum. Ved hjelp av denne metoden knytter du beregningene til formatet på gjeldende ark. 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.Columns.Count + 1 For hver subRow In TargetCells.Rows ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Value = WorksheetFunction.Average (subRow) ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Style = "Valuta "ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 For hver underkolonne i TargetCells.Columns ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Value = Arbeidsark.Funksjon. Sum (subColumn) ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Style = "Valuta" ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Font.Bold = "True" Next subColumn
Trinn 3: Merk dine oppsummeringer
Deretter merker du den nye raden og kolonnen, sett RowPlaceHolder og ColumnPlaceHolder en gang til. Bruk først AllCells.Row for å få den første raden i serien, og deretter AllCells.Column + 1 for å få den siste kolonnen. Deretter bruker du samme metode som løkken for å sette verdien til “Gjennomsnittlig salg”. Du vil også bruke det samme .Font.Bold eiendom til dristig din nye etikett.
Deretter reverserer du det, og plasserer plassholdere i første kolonne og siste rad for å legge til “Totale salg”. Du vil også driste dette også.
Begge trinnene er i kodeblokken nedenfor. Dette er slutten av makroen notert av Slutt Sub. Du bør nå ha hele makroen 5 Ressurser for Excel-makroer for å automatisere regnearkene dine 5 Ressurser for Excel-makroer for å automatisere regnearkene dine Søk etter Excel-makroer? Her er fem nettsteder som har det du leter etter. Les mer, og klikk på knappen for å kjøre den. Du kan lime alle disse kodeblokkene inn i ditt Excel-ark hvis du vil lure, men hvor er det gøy i det?
ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Gjennomsnittlig salg" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Total salg" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True End Sub
Hva er neste for makroer i Excel på Mac?
Registrerte makroer er gode å bruke for forutsigbar gjentakelse. Selv om det er noe så enkelt som å endre størrelse på alle celler og fet skrift, kan disse spare tid.
Visual Basic åpner døren for Mac Excel-brukere å grave dypt inn 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øråpningen til mer avansert programmering.
Utforsk mer om: Microsoft Excel, Visual Basic Programmering.