Use macros en Excel en Mac para ahorrar tiempo y hacer más

Use macros en Excel en Mac para ahorrar tiempo y hacer más

Excel en Mac no siempre ha sido la misma potencia que en Windows. Las macros realmente no funcionarían a menos que fueran creadas exclusivamente para Mac.





A partir de 2013, Microsoft recuperó las macros. Hay dos tipos de macros: las que puede crear registrando rápidamente sus acciones y las que usan VBA para diseñar automatizaciones más avanzadas. Con Office 2016, Excel utiliza la misma base de código en todas las plataformas . Este cambio facilitará que las macros funcionen en todas las plataformas.





Así que echemos un vistazo a cómo funciona esto actualmente en macOS.





cómo reflejar texto en Word

Habilitar macros en Excel en Mac

Es posible que trabajar con macros en Excel en su Mac no esté habilitado de forma predeterminada. Esta configuración se debe a que las macros pueden ser un posible vector de malware. La forma más fácil de saberlo es ver si tiene el Desarrollador pestaña disponible en la cinta en Excel. Si no lo ve, es fácil de habilitar.

Haga clic en Excel en la barra de menú y luego seleccione Preferencias en el menú desplegable. En el menú, haga clic en Cinta y barra de herramientas . En la lista de la derecha, Desarrollador debe estar en la parte inferior, haga clic en la casilla de verificación. Finalmente, haga clic en Ahorrar y debería ver aparecer la pestaña Desarrollador al final de la cinta.



Después de crear cada libro de trabajo con macros, guárdelo en un formato nuevo .xlsm para utilizar las macros después de volver a abrir el archivo. Si lo olvida, Excel se lo recordará cada vez que intente guardar. También deberá habilitar las macros cada vez que abra el archivo.

Grabar manualmente una macro en Excel en Mac

Aunque puedes codificar macros , eso podría no ser para todos. Si no está listo para comenzar a trabajar con VBA, Excel le permite registrar los pasos de su macro en una hoja existente. Haga clic en la pestaña Desarrollador para ver sus opciones.





Estás buscando la tercera opción en la cinta, Grabar macro . Haga clic aquí y aparecerá un cuadro de diálogo que le permitirá nombrar su macro y establecer un atajo de teclado. Puede ajustar su macro al Libro de trabajo actual , a Nuevo libro de trabajo , o en tu Libro de trabajo de macros personal . El Libro de macros personal está en su perfil de usuario y le permite usar sus macros entre sus archivos.

Una vez que registre sus acciones, estarán disponibles en esta misma pestaña. Al hacer clic en macros, aparecerán las macros guardadas en su libro de trabajo. Haga clic en el nombre de su macro y haga clic en Correr para ejecutar sus acciones grabadas.





Ejemplo 1: Total de ventas diarias y promedio por hora

Para una macro de ejemplo, revisará una hoja de ventas diaria, con las ventas desglosadas por totales por hora. Su macro agregará un total de ventas diarias y luego agregará un promedio en la última columna de cada período por hora. Si trabaja en el comercio minorista o en otro puesto de ventas, esta es una hoja útil para realizar un seguimiento de los ingresos.

Necesitamos configurar la primera hoja. Usar este primer espacio en blanco como plantilla para copiar en una nueva pestaña cada día podría ahorrarle algo de tiempo. En la primera columna / fila ponga Hora / Fecha. En la parte superior agregue de lunes a viernes.

Luego, en la primera columna, ponga un desglose de los totales por hora de 8 a 5. Usé el formato de 24 horas, pero puede usar la notación AM / PM si lo prefiere. Su hoja debe coincidir con la captura de pantalla anterior.

Agregue una nueva pestaña y copie su plantilla en ella. Luego, complete sus datos de ventas del día. (Si no tiene datos para completar esta hoja, Puedes entrar = RandBetween (10.1000) en todas las celdas para crear datos ficticios.) A continuación, haga clic en Desarrollador en la cinta.

Luego, haga clic en Grabar macro . En el cuadro de diálogo ingrese el nombre como Promedio y suma y déjalo guardado en Este libro de trabajo . Puede configurar una tecla de método abreviado si lo desea. Puede ingresar una descripción si necesita más detalles sobre lo que hace la macro. Haga clic en Aceptar para comenzar a configurar la macro.

En la parte inferior de los listados por horas, ingrese Totales diarios . En la celda al lado, ingrese = SUMA (B2: B10) . Luego cópielo y péguelo en el resto de las columnas. Luego, en el encabezado, agregue Promedio después de la última columna. Luego, en la siguiente celda hacia abajo, ingrese = Promedio (B2: F2) . Luego, péguelo en las celdas del resto de la columna.

Luego haga clic en Para de grabar . Su macro ahora puede usarse en cada nueva hoja que agregue a su libro de trabajo. Una vez que tenga otra hoja de datos, vuelva a Desarrollador y haga clic en Macros . Su macro debe estar resaltada, haga clic en ejecutar para agregar sus sumas y promedios.

Este ejemplo puede ahorrarle un par de pasos, pero para acciones más complejas que pueden sumarse. Si realiza las mismas operaciones en datos con formato idéntico, utilice macros grabadas.

Macros de VBA en Excel en Mac

Las macros grabadas manualmente en Excel ayudan con los datos que siempre tienen el mismo tamaño y forma. También es útil si desea realizar acciones en toda la hoja. Puede usar su macro para probar el problema.

Agregue otra hora y día a la hoja y ejecute la macro. Verá que la macro sobrescribe sus nuevos datos. La forma en que solucionamos esto es usando código para hacer que la macro sea más dinámica usando VBA, que es una versión reducida de Visual Basic . La implementación se centra en la automatización para Office.

No es tan fácil de adquirir como Applescript , pero la automatización de Office se basa completamente en Visual Basic. Entonces, una vez que trabaje con él aquí, podrá cambiarlo rápidamente y usarlo en otras aplicaciones de Office. (También puede ser de gran ayuda si está atascado con una PC con Windows en el trabajo).

Cuando trabaja con VBA en Excel, tiene una ventana separada. La captura de pantalla de arriba es nuestra macro grabada tal como aparece en el editor de código. El modo de ventana puede ser útil para jugar con su código mientras aprende. Cuando su macro se bloquea, existen herramientas de depuración para ver el estado de sus variables y datos de la hoja.

Office 2016 ahora viene con el editor de Visual Basic completo. Le permite utilizar el Explorador de objetos y las herramientas de depuración que solían estar limitadas a la versión de Windows. Puede acceder al Explorador de objetos yendo a Ver> Explorador de objetos o simplemente presione Mayús + Comando + B . A continuación, puede examinar todas las clases, métodos y propiedades disponibles. Fue muy útil para construir el código en la siguiente sección.

Ejemplo 2: Total de ventas diarias y promedio por hora con código

Antes de comenzar a codificar su macro, comencemos agregando un botón a la plantilla. Este paso hace que sea mucho más fácil para un usuario novato acceder a su macro. Pueden hacer clic en un botón para llamar a la macro en lugar de buscar en las pestañas y los menús.

Vuelva a la hoja de plantilla en blanco que creó en el último paso. Haga clic en Desarrollador para volver a la pestaña. Una vez que esté en la pestaña, haga clic en Botón . A continuación, haga clic en algún lugar de la hoja de la plantilla para colocar el botón. Aparecerá el menú de macros, asigne un nombre a su macro y haga clic en Nuevo .

Se abrirá la ventana de Visual Basic; lo verá listado como Módulo2 en el navegador de proyectos. El panel de código tendrá Sub AverageandSumButton () en la parte superior y algunas líneas hacia abajo End Sub . Su código debe ir entre estos dos, ya que es el principio y el final de su macro.

Paso 1: Declaración de variables

Para comenzar, deberá declarar todas sus variables. Estos se encuentran en el bloque de código a continuación, pero una nota sobre cómo se construyen. Deberías declarar todas las variables usando Ninguno antes del nombre, y luego como con el tipo de datos.

|_+_|

Ahora que tiene todas sus variables, necesita usar algunas de las variables de rango de inmediato. Los rangos son objetos que contienen secciones de la hoja de trabajo como direcciones. La variable Todas las celdas se establecerá en todas las celdas activas de la hoja, que incluye las etiquetas de columna y fila. Obtienes esto llamando al Hoja activa objeto y luego es Rango usado propiedad.

El problema es que no desea que las etiquetas se incluyan en los datos de promedio y suma. En su lugar, usará un subconjunto del rango AllCells. Este será el rango TargetCells. Declaras manualmente su rango. Su dirección de inicio será la celda de la segunda fila de la segunda columna del rango.

Llamas a esto llamando a tu AllCells rango, usando su Células class para obtener esa celda específica usando (2,2) . Para obtener la celda final en el rango, aún llamará AllCells . Esta vez usando SpecialCells método para obtener la propiedad xlCellTypeLastCell . Puede ver ambos en el bloque de código a continuación.

|_+_|

Paso 2: para cada bucle

Las siguientes dos secciones de código son bucles For Each. Estos bucles atraviesan un objeto para actuar en cada subconjunto de ese objeto. En este caso, está haciendo dos de ellos, uno para cada fila y otro para cada columna. Dado que son casi exactamente iguales, solo uno de ellos está aquí; pero ambos están en el bloque de código. Los detalles son prácticamente idénticos.

Antes de iniciar el ciclo para cada fila, debe establecer la columna de destino donde el ciclo escribe el promedio de cada fila. Usas el ColumnPlaceHolder variable para establecer este objetivo. Lo pones igual al Contar variable de la Células clase de AllCells . Agregue uno para moverlo a la derecha de sus datos agregando +1 .

A continuación, iniciará el ciclo usando Para cada . Entonces desea crear una variable para el subconjunto, en este caso, subRow . Después de la En , configuramos el objeto principal que estamos analizando TargetCells . Adjuntar .Rows al final para limitar el bucle solo a cada fila, en lugar de a cada celda del rango.

Dentro del ciclo, usa el método ActiveSheet.Cells para establecer un objetivo específico en la hoja. Las coordenadas se establecen usando subRow.Row para obtener la fila en la que se encuentra actualmente el bucle. Luego, usa ColumnPlaceHolder para la otra coordenada.

Usas esto para los tres pasos. El primero que anexas .valor después de los paréntesis y se establece igual a WorksheetFunction.Average (subRow) . Esto escribe la fórmula para el promedio de la fila en su celda de destino. La siguiente línea que agregas .Estilo y establecer eso igual a 'Divisa' . Este paso coincide con el resto de su hoja. En la última línea, agrega .Negrita y ponerlo igual a Cierto . (Tenga en cuenta que no hay comillas alrededor de este, ya que es el valor booleano). Esta línea pone la fuente en negrita para que la información resumida se destaque del resto de la hoja.

Ambos pasos se encuentran en el siguiente ejemplo de código. El segundo ciclo intercambia filas por columnas y cambia la fórmula a Suma . El uso de este método vincula sus cálculos al formato de la hoja actual. De lo contrario, está vinculado al tamaño en el momento de grabar la macro. Entonces, cuando trabaja más días u horas, la función crece con sus datos.

¿Cómo puedo hacer que Chrome use menos memoria?
|_+_|

Paso 3: etiquete sus resúmenes

A continuación, etiquete la nueva fila y columna, establezca RowPlaceHolder y ColumnPlaceHolder de nuevo. Primer uso AllCells.Row para obtener la primera fila del rango, y luego AllCells.Column + 1 para obtener la última columna. Luego usará el mismo método que el bucle para establecer el valor en 'Ventas promedio' . También usarás el mismo .Negrita propiedad para poner en negrita su nueva etiqueta.

Luego inviértalo, estableciendo sus marcadores de posición en la primera columna y la última fila para agregar 'Ventas totales' . También quieres poner esto en negrita.

Ambos pasos se encuentran en el bloque de código a continuación. Este es el final de la macro señalada por End Sub . Ahora debería tener la macro completa y poder hacer clic en el botón para ejecutarla. Puede pegar todos estos bloques de código en orden en su hoja de Excel si quiere hacer trampa, pero ¿dónde está la diversión en eso?

|_+_|

¿Qué sigue para las macros en Excel en Mac?

Las macros grabadas son excelentes para usar para una repetición predecible. Incluso si es algo tan simple como cambiar el tamaño de todas las celdas y los encabezados en negrita, esto puede ahorrarle tiempo. Solo evitar errores comunes de macro .

Visual Basic abre la puerta a los usuarios de Mac Excel para profundizar en la automatización de Office. Tradicionalmente, Visual Basic solo estaba disponible en Windows. Permite que sus macros se adapten a los datos de forma dinámica, haciéndolas más versátiles. Si tiene paciencia, esta puede ser la puerta a una programación más avanzada.

¿Quieres más trucos de hojas de cálculo para ahorrar tiempo? Aprenda a resaltar datos específicos automáticamente con formato condicional en Excel y resaltado condicional en Numbers en Mac.

Cuota Cuota Pío Correo electrónico 3 formas de comprobar si un correo electrónico es real o falso

Si ha recibido un correo electrónico que parece un poco dudoso, siempre es mejor verificar su autenticidad. Aquí hay tres formas de saber si un correo electrónico es real.

Leer siguiente
Temas relacionados
  • Mac
  • Productividad
  • Programación
  • Programación Visual Basic
  • Microsoft Excel
Sobre el Autor Michael McConnell(44 Artículos publicados)

Michael no usó una Mac cuando estaban condenados, pero puede codificar en Applescript. Tiene títulos en Ciencias de la Computación e Inglés; ha estado escribiendo sobre Mac, iOS y videojuegos desde hace un tiempo; y ha sido un mono de TI durante el día durante más de una década, y se especializó en scripting y virtualización.

Más de Michael McConnell

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse
Categoría Mac