Utilitzeu macros a Excel a Mac per estalviar temps i fer més

Utilitzeu macros a Excel a Mac per estalviar temps i fer més

Excel al Mac no sempre ha estat la mateixa potència que el Windows. Les macros realment no funcionarien tret que s’hagin creat exclusivament per a Mac.





A partir del 2013, Microsoft va recuperar macros. Hi ha dos tipus de macros: les que podeu crear registrant ràpidament les vostres accions i les que utilitzen VBA per dissenyar automatismes més avançats. Amb Office 2016, Excel utilitza el fitxer la mateixa base de codis a totes les plataformes . Aquest canvi facilitarà el funcionament de macros entre plataformes.





Així que donem una ullada a com funciona actualment a macOS.





com es pot veure qui té accés a un document de google

Activació de macros a Excel a Mac

És possible que el treball amb macros a Excel al vostre Mac no estigui habilitat per defecte. Aquesta configuració es deu al fet que les macros poden ser un possible vector de programari maliciós. La forma més senzilla d’explicar-la és veure si en teniu Desenvolupador pestanya disponible a la cinta d'Excel. Si no el veieu, és fàcil habilitar-lo.

Fer clic a Excel a la barra de menú i, a continuació, seleccioneu Preferències al menú desplegable. Al menú, feu clic a Cinta i barra d'eines . A la llista de la dreta, Desenvolupador hauria de ser a la part inferior, feu clic a la casella de selecció. Finalment, feu clic a Desa i hauríeu de veure la pestanya Desenvolupador que apareix al final de la cinta.



Després de crear cada llibre de treball amb macros, deseu-lo en un format nou .xlsm per utilitzar les macros després de tornar a obrir el fitxer. Si ho oblideu, Excel us recordarà cada vegada que proveu de desar. També haureu d’habilitar les macros cada vegada que obriu el fitxer.

Gravació manual d'una macro a Excel al Mac

Tot i que podeu codificar macros , pot ser que no sigui per a tothom. Si no esteu preparat per començar a treballar amb VBA, Excel us permet registrar els passos de la vostra macro en un full existent. Feu clic a la pestanya Desenvolupador per veure les vostres opcions.





Esteu buscant la tercera opció a la cinta, Grava la macro . Feu clic a aquest i apareixerà un diàleg que us permetrà posar nom a la vostra macro i establir una drecera de teclat. Podeu abastar la vostra macro al fitxer Quadern de treball actual , a Nou llibre de treball , o al vostre Quadern de treball de macro personal . El llibre de treball de macros personals es troba al vostre perfil d’usuari i us permet utilitzar les macros entre els fitxers.

Un cop hàgiu enregistrat les accions, ja estaran disponibles en aquesta mateixa pestanya. En fer clic a les macros, apareixeran les macros desades al vostre llibre. Feu clic al nom de la vostra macro i feu clic a Correr per executar les accions gravades.





Exemple 1: vendes diàries totals i mitjanes per hora

Per a una macro d’exemple, aneu a través d’un full de vendes diàries, amb les vendes desglossades per totals horaris. La vostra macro afegirà un total de vendes diàries i, a continuació, afegirà una mitjana a la darrera columna de cada període horari. Si treballeu a la venda al detall o en una altra posició comercial, aquest és un full útil per fer un seguiment dels ingressos.

Hem de configurar el primer full. Si utilitzeu aquest primer espai en blanc com a plantilla per copiar-lo cada dia a una pestanya nova, podreu estalviar-vos una mica de temps. A la primera columna / fila, poseu Hora / Data. A la part superior, afegiu de dilluns a divendres.

A continuació, a la primera columna poseu un desglossament dels totals horaris de 8-5. He utilitzat el temps de 24 hores, però podeu utilitzar la notació AM / PM si ho preferiu. El full ha de coincidir amb la captura de pantalla anterior.

Afegiu una pestanya nova i copieu-hi la plantilla. A continuació, empleneu les dades de vendes del dia. (Si no teniu dades per omplir aquest full, podeu entrar = RandBetween (10.1000) a totes les cel·les per crear dades fictícies.) A continuació, feu clic a Desenvolupador a la Cinta.

A continuació, feu clic a Grava la macro . Al quadre de diàleg introduïu el nom com a Mitjana i suma i deixar-lo emmagatzemat a Aquest llibre de treball . Podeu configurar una tecla de drecera si voleu. Podeu introduir una descripció si necessiteu més detalls sobre el que fa la macro. Feu clic a D'acord per començar a configurar la macro.

Introduïu la part inferior de les llistes per hora Totals diaris . Introduïu a la cel·la que hi ha al costat = SUMA (B2: B10) . A continuació, copieu-lo i enganxeu-lo a la resta de columnes. A continuació, afegiu a la capçalera Mitjana després de la darrera columna. A continuació, a la cel·la següent cap avall, introduïu = Mitjana (B2: F2) . A continuació, enganxeu-lo a les cel·les de la resta de la columna.

A continuació, feu clic a Atura la gravació . La vostra macro ara es pot utilitzar a cada full nou que afegiu al vostre llibre. Un cop tingueu un altre full de dades, torneu a Desenvolupador i feu clic a macros . La vostra macro s'ha de ressaltar, feu clic a Executa per afegir les vostres sumes i mitjanes.

Aquest exemple us pot estalviar un parell de passos, però per a accions més complexes que es poden sumar. Si feu les mateixes operacions sobre dades amb un format idèntic, utilitzeu macros enregistrades.

Macros VBA a Excel a Mac

Les macros gravades manualment a Excel ajuden amb dades que sempre tenen la mateixa mida i forma. També és útil si voleu fer accions a tot el full. Podeu utilitzar la vostra macro per demostrar el problema.

Afegiu una altra hora i un dia al full i executeu la macro. Veureu que la macro sobreescriu les vostres dades noves. La manera com ho solucionem és mitjançant el codi per fer la macro més dinàmica mitjançant VBA, que és un versió reduïda de Visual Basic . La implementació se centra en l'automatització per a Office.

No és tan fàcil de recollir com a Applescript , però l'automatització d'Office està completament construïda al voltant de Visual Basic. Per tant, un cop hi treballeu, podreu girar-lo ràpidament i utilitzar-lo en altres aplicacions d’Office. (També pot ser de gran ajuda si us queda enganxat amb un PC amb Windows a la feina).

Quan treballeu amb VBA a Excel, teniu una finestra independent. La captura de pantalla anterior és la nostra macro enregistrada tal com apareix a l'editor de codi. El mode de finestra pot ser útil per jugar amb el vostre codi mentre esteu aprenent. Quan es penja la macro, hi ha eines de depuració per examinar l’estat de les variables i les dades del full.

L’Office 2016 ara inclou l’editor Visual Basic complet. Permet utilitzar el navegador d'objectes i les eines de depuració que solien limitar-se a la versió de Windows. Podeu accedir al navegador d’objectes anant a Visualitza> Navegador d'objectes o simplement premeu Maj + Comanda + B . A continuació, podeu navegar per totes les classes, mètodes i propietats disponibles. Va ser molt útil per construir el codi a la següent secció.

Exemple 2: vendes diàries totals i mitjanes horàries amb codi

Abans de començar a codificar la macro, comencem afegint un botó a la plantilla. Aquest pas facilita l'accés a la vostra macro per a un usuari novell. Poden fer clic a un botó per trucar a la macro en lloc d’excavar-se a les pestanyes i als menús.

Torneu al full de plantilla en blanc que heu creat al darrer pas. Fer clic a Desenvolupador per tornar a la pestanya. Un cop a la pestanya, feu clic a Botó . A continuació, feu clic en algun lloc del full de la plantilla per col·locar el botó. Apareix el menú de macros, assigneu un nom a la vostra macro i feu clic Novetat .

S'obrirà la finestra de Visual Basic; el veureu com a Mòdul2 al navegador del projecte. El tauler de codi tindrà Sub mitjana i botó suma () a la part superior i unes línies cap avall Finalitzar sub . El vostre codi ha d’anar entre aquests dos, ja que és el principi i el final de la vostra macro.

Pas 1: declaració de variables

Per començar, haureu de declarar totes les vostres variables. Aquests es troben al bloc de codi següent, però hi ha una nota sobre com es construeixen. Heu de declarar totes les variables mitjançant Cap abans del nom, i després com amb el tipus de dades.

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

Ara que teniu totes les vostres variables, heu d’utilitzar algunes de les variables d’interval de seguida. Els intervals són objectes que contenen seccions del full de treball com a adreces. La variable Totes les cèl·lules es definirà a totes les cel·les actives del full, que inclou les etiquetes de columna i fila. Ho aconsegueixes trucant al Full actiu objecte i llavors és UsedRange propietat.

El problema és que no voleu que s’incloguin les etiquetes a la mitjana i a la suma de dades. En lloc d’això, utilitzeu un subconjunt de l’interval AllCells. Aquest serà el rang TargetCells. Declareu manualment el seu abast. La seva adreça inicial serà la cel·la de la segona fila de la segona columna de l'interval.

Truqueu a això trucant al vostre AllCells , utilitzant el seu Cèl · lules per obtenir aquesta cel·la específica (2,2) . Per obtenir l’última cel·la de l’interval, continuarà trucant AllCells . Aquesta vegada utilitzant SpecialCells mètode per obtenir la propietat xlCellTypeLastCell . Podeu veure tots dos al bloc de codi següent.

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

Pas 2: per a cada bucle

Les següents dues seccions de codi són Per a cada bucle. Aquests bucles recorren un objecte per actuar sobre cada subconjunt d'aquest objecte. En aquest cas, en feu dos, un per a cada fila i un per a cada columna. Com que són gairebé exactament iguals, només n'hi ha un d'ells; però tots dos es troben al bloc de codi. Els detalls són pràcticament idèntics.

Abans d’iniciar el bucle per a cada fila, heu d’establir la columna de destinació on el bucle escriu la mitjana de cada fila. Feu servir el fitxer ColumnPlaceHolder variable per establir aquest objectiu. L'estableix igual a Compta variable del Cèl · lules classe de AllCells . Afegiu-ne un per moure-les a la dreta de les vostres dades afegint-hi +1 .

A continuació, començareu el bucle utilitzant Per cadascú . A continuació, voleu crear una variable per al subconjunt, en aquest cas, subFila . Després de la En , configurem l'objecte principal que analitzem TargetCells . Afegeix .Fil·les al final per limitar el bucle només a cada fila, en lloc de a cada cel·la de l'interval.

Dins del bucle, utilitzeu el mètode ActiveSheet.Cells per establir un objectiu específic al full. Les coordenades s’estableixen utilitzant subRow.Row per obtenir la fila en què es troba el bucle. Aleshores, utilitzeu ColumnPlaceHolder per l'altra coordenada.

L'utilitzeu durant els tres passos. El primer que afegiu .valor després dels parèntesis i establir igual a WorksheetFunction.Average (subRow) . Això escriu la fórmula per a la mitjana de la fila a la cel·la de destinació. La següent línia que afegiu .Estil i estableix-lo igual a 'Moneda' . Aquest pas coincideix amb la resta del full. A la darrera línia, afegiu .Font.Audit i estableix-lo igual a És cert . (Tingueu en compte que no hi ha cometes al voltant d’aquest, ja que és el valor booleà.) Aquesta línia posa en negreta el tipus de lletra per fer que la informació de resum destaqui de la resta del full.

Tots dos passos es troben a l'exemple de codi següent. El segon bucle canvia les files per columnes i canvia la fórmula a Suma . L’ús d’aquest mètode vincula els vostres càlculs amb el format del full actual. En cas contrari, estarà vinculat a la mida en el moment de gravar la macro. Així, quan treballeu més dies o hores, la funció creix amb les vostres dades.

aplicacions per desar vídeos de youtube a la càmera
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

Pas 3: etiqueteu els vostres resums

A continuació, marqueu la nova fila i columna, definiu-les RowPlaceHolder i ColumnPlaceHolder de nou. En primer lloc, utilitzeu AllCells.Row per obtenir la primera fila de l'interval i després AllCells.Column + 1 per obtenir l'última columna. A continuació, utilitzeu el mateix mètode que el bucle per establir el valor a 'Vendes mitjanes' . També faràs servir el mateix .Font.Audit propietat per posar en negreta la vostra nova etiqueta.

A continuació, inverteu-lo i configureu els vostres espais reservats a la primera columna i a l'última fila per afegir 'Vendes totals' . També voleu posar-ho en negreta.

Tots dos passos es troben al bloc de codi següent. Aquest és el final de la macro assenyalada per Finalitzar sub . Ara hauríeu de tenir tota la macro i poder fer clic al botó per executar-la. Podeu enganxar tots aquests blocs de codi per ordre al full Excel si voleu enganyar, però, on hi ha la diversió?

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

Què seguirà per a les macros a Excel a Mac?

Les macros enregistrades són ideals per fer servir una repetició previsible. Fins i tot si és quelcom tan senzill com canviar la mida de totes les cel·les i atrevir les capçaleres, això us pot estalviar temps. Simplement evitar errors macro comuns .

Visual Basic obre la porta als usuaris de Mac Excel per aprofundir en l’ofimàtica. Visual Basic tradicionalment només estava disponible al Windows. Permet que les vostres macros s’adaptin a les dades de manera dinàmica, fent-les més versàtils. Si teniu paciència, aquesta pot ser la porta a una programació més avançada.

Voleu més trucs per estalviar temps en fulls de càlcul? Apreneu a ressaltar dades específiques automàticament amb el format condicional a Excel i el ressaltat condicional a Numbers al Mac.

Compartir Compartir Tweet Correu electrònic 3 maneres de comprovar si un correu electrònic és real o fals

Si heu rebut un correu electrònic que sembla una mica dubtós, sempre és millor comprovar-ne l’autenticitat. A continuació, es mostren tres maneres de saber si un correu electrònic és real.

Llegiu a continuació
Temes relacionats
  • Mac
  • Productivitat
  • Programació
  • Programació Visual Basic
  • Microsoft Excel
Sobre l'autor Michael McConnell(44 articles publicats)

Michael no va utilitzar un Mac quan estaven condemnats, però pot codificar en Applescript. És llicenciat en Informàtica i Anglès; fa temps que escriu sobre Mac, iOS i videojocs; i fa més d’una dècada que és un mico informàtic de dia, especialitzat en scripts i virtualització.

Més de Michael McConnell

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us
Categoria Mac