Utilizați macro-uri în Excel pe Mac pentru a economisi timp și a face mai multe
Excel pe Mac nu a fost întotdeauna aceeași putere pe Windows. Macrourile nu ar funcționa dacă nu au fost create exclusiv pentru Mac.
Începând din 2013, Microsoft a adus macro-uri. Există două tipuri de macrocomenzi: cele pe care le puteți crea prin înregistrarea rapidă a acțiunilor dvs. și cele care utilizează VBA pentru a proiecta automatizări mai avansate. Cu Office 2016, Excel utilizează aceeași bază de coduri pe toate platformele. Această modificare va face mai ușor ca macrocomenzile să funcționeze pe platforme.
Deci, haideți să aruncăm o privire la modul în care funcționează în prezent pe macOS.
Activarea macrocomenzilor în Excel pe Mac
Lucrul cu macrocomenzile din Excel pe Mac poate să nu fie activat în mod implicit. Această setare se datorează faptului că macrocomenzile pot fi un vector de malware posibil Cum să vă protejați împotriva malware-ului Microsoft Word Cum să vă protejați împotriva malware-ului Microsoft Word Știați că computerul dvs. poate fi infectat cu documente Microsoft Office sau dacă ați putea fi înșelat setările de care au nevoie pentru a infecta computerul? Citeste mai mult . Cea mai ușoară cale de a spune este să vezi dacă ai Dezvoltator fila disponibilă pe Panglică în Excel. Dacă nu îl vedeți, este simplu de activat.
Click pe excela în bara de meniu, apoi selectați Preferințe în meniul drop down. În meniu, faceți clic pe Panglică și Bara de instrumente. În lista din dreapta, Dezvoltator ar trebui să fie în partea de jos, faceți clic pe caseta de selectare. În cele din urmă, faceți clic pe Salvați și ar trebui să vedeți fila Dezvoltator să apară la sfârșitul Panglicii.
După ce creați fiecare registru de lucru cu macrocomenzi, salvați-l într-un format nou .xlsm să utilizați macrocomenzile după redeschiderea fișierului. Dacă uitați, Excel vă va aminti de fiecare dată când încercați să salvați. De asemenea, va trebui să activați macrocomenzile de fiecare dată când deschideți fișierul.
Înregistrarea manuală a unui macro în Excel pe Mac
Deși aveți posibilitatea să codificați macrocomenzile 4 Greseli pe care le puteți evita atunci când programați macro-uri Excel cu VBA 4 greșeli pe care le puteți evita atunci când programați macro-uri Excel cu VBA Codul simplu și macro-urile sunt cheile pentru superputerele Microsoft Excel. Chiar și non-programatorii pot adăuga cu ușurință funcționalități impresionante la foile lor de calcul cu Virtual Basics for Applications (VBA). Doar evitați aceste greșeli de programare începător! Citiți mai multe, ar putea să nu fie pentru toată lumea. Dacă nu sunteți gata să începeți să lucrați cu VBA, Excel vă permite să înregistrați pașii pentru macro într-o foaie existentă. Faceți clic pe fila Developer pentru a vedea opțiunile dvs..
Căutați cea de-a treia opțiune din Panglică, Înregistrați macro. Faceți clic pe acesta și se afișează o fereastră de dialog care vă permite să denumiți macrocomanda și să setați o comandă rapidă de la tastatură. Puteți extinde macro-ul dvs. la Cartea de lucru curentă, A Noua carte de lucru, sau în dvs. Macro manual de lucru. Macroul de lucru personal se află în profilul dvs. de utilizator și vă permite să utilizați macrocomenzile între fișierele dvs..
După înregistrarea acțiunilor dvs., acestea sunt disponibile în aceeași filă. Clicurile pe macrocomenzi vor afișa macro-urile salvate în registrul de lucru. Faceți clic pe numele macro și faceți clic pe Alerga pentru a rula acțiunile dvs. înregistrate.
Exemplul 1: Vânzarea zilnică totală și media orară
Pentru un macro exemplu, veți trece printr-o foaie zilnică de vânzări, vânzările fiind defalcate pe totaluri orare. Macro-ul dvs. va adăuga un total de vânzări de zi cu zi, și apoi adăugați o medie în ultima coloană a fiecărei perioade orare. Dacă lucrați în posturi de vânzare cu amănuntul sau de altă natură, aceasta este o foaie utilă pentru a urmări veniturile.
Trebuie să setăm prima foaie. Folosirea acestui prim blank ca șablon pentru a copia într-o filă nouă în fiecare zi vă poate economisi timp. În prima coloană / rând introduceți ora / data. În partea de sus se adaugă de luni până vineri.
Apoi, în prima coloană a pus o descompunere a totalurilor orare de la 8-5. Am folosit timp de 24 de ore, dar puteți utiliza notația AM / PM dacă preferați. Foaia dvs. ar trebui să se potrivească cu imaginea de mai sus.
Adăugați o filă nouă și copiați șablonul în ea. Apoi completați datele de vânzări pentru ziua respectivă. (Dacă nu aveți date pentru a popula această foaie, puteți introduce = RANDBETWEEN (10,1000) în toate celulele pentru a crea date fictive.) Apoi faceți clic pe Dezvoltator în Panglică.
Apoi faceți clic pe Înregistrați macro. În caseta de dialog introduceți numele ca AverageandSum și lăsați-l stocat în Acest registru de lucru. Puteți seta o cheie de comandă rapidă dacă doriți. Puteți introduce o descriere dacă aveți nevoie de mai multe detalii despre ceea ce face macrocomanda. Faceți clic pe OK pentru a începe configurarea macrocomenzii.
În partea de jos a înregistrărilor orare introduceți Totaluri zilnice. În celula din dreptul acesteia, introduceți = SUM (B2: B10). Apoi copiați și lipiți acest lucru în restul coloanelor. Apoi, în antetul adăugați In medie după ultima coloană. Apoi, în celula următoare, intrați = Mediu (B2: F2). Apoi, lipiți-l în celulele din restul coloanei.
Apoi apasa Opriți înregistrarea. Acum puteți utiliza macrocomanda pe fiecare foaie nouă pe care o adăugați la registrul de lucru. După ce ai o altă fișă de date, du-te înapoi Dezvoltator și faceți clic pe macrocomenzi. Macro-ul dvs. trebuie evidențiat, faceți clic pe Executare pentru a adăuga sume și medii.
Acest exemplu vă poate salva câțiva pași, dar pentru acțiuni mai complexe care se pot adăuga. Dacă efectuați aceleași operații pe date cu formatare identică, utilizați macrocomenzile înregistrate.
VBA Macros în Excel pe Mac
Manualele macro înregistrate în Excel ajută la datele care au întotdeauna aceeași dimensiune și formă. De asemenea, este util dacă doriți să efectuați acțiuni pe întreaga coală. Puteți utiliza macrocomanda pentru a demonstra problema.
Adăugați o altă oră și zi în foaie și rulați macrocomanda. Veți vedea că macro-ul suprascrie datele noi. Modul în care ne aflăm în jurul valorii de acest lucru este folosind codul pentru a face macro mai dinamice folosind VBA, care este o versiune subțire de Visual Basic 4 site-uri mari pentru a vă face un Guru Visual Basic 4 site-uri mari pentru a vă face un Guru Visual Basic Vrei să înveți Visual Basic? Iată câteva resurse excelente pentru a începe. Citeste mai mult . Implementarea se concentrează pe automatizarea Office.
Nu este la fel de ușor să ridici ca Applescript Învățați să vă automatizați Mac cu AppleScript [Partea 1: Introducere] Învățați să automatizați Mac cu AppleScript [Partea 1: Introducere] Citiți mai mult, dar automatizarea Office este construită în întregime în jurul Visual Basic. Deci, odată ce lucrați aici, sunteți rapid capabil să vă întoarceți și să îl utilizați în alte aplicații Office. (Acesta poate fi, de asemenea, un ajutor mare dacă sunteți blocat cu un PC Windows la locul de muncă.)
Când lucrați cu VBA în Excel, aveți un Feree separat. Imaginea de mai sus este macro-ul înregistrat așa cum apare în editorul de coduri. Modul ferestrei poate fi util pentru a juca cu codul în timp ce înveți. Când macro-ul dvs. este închis, există instrumente de depanare pentru a examina starea variabilelor și a datelor din foi.
Office 2016 vine acum cu editorul Visual Basic complet. Acesta vă permite să utilizați utilitarele de navigare și de depanare a obiectelor care au fost limitate la versiunea Windows. Puteți accesa Object Browser accesând Vizualizare> Browser de obiecte sau doar apăsați Shift + Comandă + B. Puteți căuta apoi toate clasele, metodele și proprietățile disponibile. A fost foarte util în construirea codului în secțiunea următoare.
Exemplul 2: Vânzări zilnice totale și medii orare cu cod
Înainte de a începe să codificați macrocomanda, să începem prin adăugarea unui buton la șablon. Acest pas face mult mai ușor pentru un utilizator novice să vă acceseze macrocomanda. Ele pot face clic pe un buton pentru a apela macroul, mai degrabă decât să sapă în file și meniuri.
Reveniți la foaia de șablon goală pe care ați creat-o în ultima etapă. Click pe Dezvoltator pentru a reveni la fila. Odată ce ați accesat fila, faceți clic pe Buton. Apoi, faceți clic pe undeva în foaia din șablon pentru a plasa butonul. Se lansează meniul macro-urilor, denumiți macroul și faceți clic pe Nou.
Fereastra Visual Basic se va deschide; veți vedea că este listat ca Module2 în browser-ul proiectului. Panoul de cod va avea Sub AverageandSumButton () în partea de sus și câteva linii în jos End Sub. Codul dvs. trebuie să meargă între aceste două, deoarece acesta este începutul și sfârșitul macrocomenzii.
Pasul 1: Declarația variabilelor
Pentru a începe, va trebui să declarați toate variabilele dvs. Bazele Programării Calculatorului 101 - Variabile și Tipuri de Date Elementele de bază ale Programării Calculatoarelor 101 - Variabile și Tipuri de Date După ce am introdus și am vorbit puțin despre programarea orientată pe obiecte înainte și de unde vine numele său, Am crezut că este timpul să trecem prin programele de bază absolut într-un mod specific non-lingvistic. Acest ... Citește mai mult. Acestea sunt în blocul de cod de mai jos, dar o notă despre cum sunt construite. Ar trebui să declarați toate variabilele folosind întunecos înainte de numele și apoi la fel de cu tipul de date.
Sub Dimensiune și SumăButton () Dim RowPlaceHolder ca întreg Dim ColumnPlaceHolder ca întreg Dim StringHolder ca String Dim AllCells ca dimensiune Dimime Dim TargetCells As Range Dim MedieTarget ca dimensiune Dim SumTarget ca Range
Acum, că aveți toate variabilele dvs., trebuie să utilizați imediat unele dintre variabilele intervalului. Rangurile sunt obiecte care dețin secțiuni ale foii de lucru ca adrese. Variabila Toate celulele va fi setat la toate celulele active din foaia, care include coloanele și etichetele rândului. Ați obținut acest lucru sunând la Foaie activă obiect și apoi este UsedRange proprietate.
Problema este că nu doriți ca etichetele să fie incluse în datele medii și sumare. În schimb, veți utiliza un subset al gamei AllCells. Aceasta va fi gama TargetCells. Vă declarați manual gama sa. Adresa de start va fi celula de la al doilea rând din a doua coloană a intervalului.
Apelați acest lucru sunând la dvs. AllCells cu ajutorul lui celulele pentru a obține utilizarea acelei celule specifice (2,2). Pentru a obține celula finală din interval, veți mai apela AllCells. Acest timp folosind SpecialCells pentru a obține proprietatea xlCellTypeLastCell. Puteți vedea ambele acestea în blocul de cod de mai jos.
Setați AllCells = ActiveSheet.UsedRange Setați TargetCells = Interval (AllCells.Cells (2, 2), AllCells.SpecialCells (xlCellTypeLastCell))
Pasul 2: Pentru fiecare bucle
Următoarele două secțiuni ale codului sunt Pentru fiecare Bazele absolut de programare pentru începători (partea a 2-a) Bazele absolută a programării pentru începători (Partea 2) În partea a 2-a ghidul nostru absolut de incepatori pentru programare, voi acoperi elementele de bază ale funcții, valori returnate, bucle și condiționări. Asigurați-vă că ați citit partea 1 înainte de a aborda acest lucru, unde i-am explicat ... Citește mai multe bucle. Aceste bucle trece printr-un obiect pentru a acționa pe fiecare subset al acelui obiect. În acest caz, faceți două dintre ele, unul pentru fiecare rând și unul pentru fiecare coloană. Deoarece ele sunt aproape la fel, doar unul dintre ele este aici; dar ambele sunt în blocul de coduri. Detaliile sunt aproape identice.
Înainte de a începe buclele pentru fiecare rând, trebuie să setați coloana destinație unde bucla scrie mediul fiecărui rând. Folosiți ColumnPlaceHolder pentru a seta această destinație. Ați setat-o la egal cu Numara variabilă a celulele clasa de AllCells. Adăugați unul la acesta pentru al muta în dreapta datelor dvs. adăugând +1.
Apoi, veți începe să utilizați buclele Pentru fiecare. Apoi doriți să creați o variabilă pentru subset, în acest caz, subRow. După În, am setat obiectul principal pe care îl analizăm TargetCells. Adăuga .rânduri la sfârșitul pentru a limita buclă la numai fiecare rând, în loc de fiecare celulă din interval.
În interiorul buclă, utilizați metoda ActiveSheet.Cells pentru a seta o țintă specifică pe foaie. Coordonatele sunt setate utilizând subRow.Row pentru a obține rândul în care se află bucla curentă. Apoi, utilizați ColumnPlaceHolder pentru celelalte coordonate.
Utilizați acest lucru pentru toți cei trei pași. Primul pe care îl adăugați .valoare după paranteze și setați egal cu WorksheetFunction.Average (subRow). Aceasta scrie formula pentru media rândului în celula țintă. Următoarea linie pe care o adăugați .Stil și setați acea valoare egală cu “Valută”. Acest pas se potrivește cu restul foii dvs. Pe ultima linie, adăugați .Font.Bold și setați-l la egal cu Adevărat. (Notați că nu există citate în jurul valorii de acest lucru, deoarece este valoarea booleană.) Această linie marchează fontul pentru a face ca rezumatul să iasă în evidență de restul foii.
Ambii pași sunt în exemplul de cod de mai jos. Cea de-a doua bucla schimbă rândurile pentru coloane și modifică formula la Sumă. Utilizând această metodă, legăturile dvs. se calculează în formatul foii curente. În caz contrar, este legată de dimensiunea la momentul înregistrării macrocomenzii. Deci, când lucrați mai multe zile sau ore, funcția crește cu datele dvs..
ColumnPlaceHolder = AllCells.Columns.Count + 1 pentru fiecare subRow în TargetCells.Rows ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Value = WorksheetFunction.Average (subRow) ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Style = "Moneda "ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .FontBold = Adevărat SubRow RowPlaceHolder = AllCells.Rows.Count + 1 pentru fiecare subColumn în TargetCells.Columns ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Value = WorksheetFunction. Sumă (subcoloană) ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Style = "Valută" ActiveSheet.Cells (RowPlaceHolder, subColumn.Column) .Font.Bold = "Adevărat" Următorul subColumn
Pasul 3: Etichetați rezumatele
Apoi, etichetați rândul și coloana noi, setați RowPlaceHolder și ColumnPlaceHolder din nou. În primul rând, utilizați AllCells.Row pentru a obține primul rând în interval și apoi AllCells.Column + 1 pentru a obține ultima coloană. Apoi, veți folosi aceeași metodă ca și bucla pentru a seta valoarea la “Vânzări medii”. Veți folosi, de asemenea, același lucru .Font.Bold proprietate pentru a îndrăzni noua etichetă.
Apoi inversați-l, setând locașurile de plasare la prima coloană și ultimul rând pe care doriți să-l adăugați “Vanzari totale”. Vrei să îndrăznești și asta.
Ambii pași sunt în blocul de cod de mai jos. Acesta este sfârșitul macro-ului notat de End Sub. Ar trebui să aveți acum întreaga macrocomandă 5 Resurse pentru Excel Macro-uri pentru automatizarea foilor de calcul 5 Resurse pentru Macro Excel pentru automatizarea foilor de calcul Căutați macrocomenzi Excel? Iată cinci site-uri care au ceea ce căutați. Citiți mai multe și faceți clic pe buton pentru ao rula. Aveți posibilitatea să lipiți toate aceste blocuri de cod în ordine în foaia dvs. Excel, dacă doriți să trișeze, dar unde este distractiv în asta?
ColumnPlaceHolder = ToateCells.Columns.Count + 1 RowPlaceHolder = ToateCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Vânzări medii" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = Adevărat ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Vânzări totale" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True End Sub
Ce urmează pentru macrocomenzi în Excel pe Mac?
Mecanismele înregistrate sunt minunate de utilizat pentru repetarea previzibilă. Chiar dacă este ceva la fel de simplu ca redimensionarea tuturor celulelor și anteturile bolding, acestea vă pot economisi timp.
Visual Basic deschide ușa pentru utilizatorii Mac Excel să sapă adânc în automatizarea Office. Visual Basic a fost în mod tradițional disponibil numai pe Windows. Permite macrocomenzile să se adapteze dinamic la date, făcându-le mai versatile. Dacă aveți răbdare, aceasta poate fi calea către o programare mai avansată.
Explorați mai multe despre: Microsoft Excel, Programare Visual Basic.