Grabar una macro (Grabadora de macros)

¿Deseas automatizar tareas repetitivas en tu computadora y ganar tiempo en tus actividades diarias? ¡Entonces estás en el lugar correcto! Hoy te enseñaremos cómo grabar una macro utilizando una grabadora de macros. Este sencillo pero poderoso recurso te permitirá grabar una serie de acciones y reproducirlas cada vez que lo necesites, facilitando así tu trabajo y aumentando tu productividad. No te pierdas este artículo donde te guiaremos paso a paso en el proceso de grabación de macros. ¿Estás listo para optimizar tu tiempo y simplificar tu trabajo? ¡Comencemos!

Escrito por Puneet para Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel para Mac

PUNTOS CLAVE

  • Grabar una macro significa registrar las acciones que realizas en Excel.
  • Debe utilizar la grabadora de macros para grabar una macro.
  • La grabadora de macros genera el código en el back-end mientras usted realiza la actividad.
  • En Excel, no puede hacer una pausa mientras graba una macro.
  • La grabadora de macros no crea código perfecto, así que asegúrese de limpiar su código después de grabar.

Esta guía le ayudará a aprender todos los aspectos de la grabación de una macro. También aprenderá a limpiar el código después de grabarlo.

Entonces empecemos.

¿Qué es la grabadora de macros?

Excel Macro Recorder es una herramienta que puede registrar acciones (no todos) que realizas en Excel y genera código para eso. Realice una tarea específica una vez y generará una macro para ella, y la próxima vez, en lugar de realizar esa tarea manualmente, deberá ejecutar ese código.

Piense en una cámara de video, simplemente funciona como tal y genera código para la actividad que realiza.

Grabar una macro (Grabadora de macros)

Debe comprender que puede haber ocasiones en las que una grabadora de macros no pueda proporcionar un código. Sin embargo, aún así, es una excelente manera de conocer el código si no lo sabes.

Puede encontrar el botón de grabación de macros en la pestaña de desarrollador.

Grabar una macro (Grabadora de macros)

Usar VBA para programar en Excel es una de las habilidades avanzadas de Excel y para comenzar con VBA necesita dominar la grabación de macros.

Planificar antes de grabar una macro

Si desea grabar un video, debe planificar un poco antes, como crear un guión, tener las luces adecuadas y cosas así.

Grabar una macro (Grabadora de macros)

Del mismo modo, para grabar una macro es fundamental realizar una cierta planificación.

La cuestión es que no desea obtener un código para la actividad que no desea ejecutar mientras usa nuevamente la macro grabada.

La mejor manera de hacerlo es anotar los pasos que debe realizar y luego seguirlos mientras graba.

Aquí vamos a grabar una macro que puede hacer aplicar el siguiente formato a la celda seleccionada:

  • Color de fuente: rojo
  • Tamaño de fuente: 12
  • Estilo de fuente: Verdena
  • Texto de fuente: Negrita

Como dije, la planificación es esencial, y antes de grabar esta macro, hay una cosa de la que debemos ocuparnos, y es seleccionar la celda objetivo antes de comenzar a grabar.

Como dije, la planificación es esencial, y antes de grabar esta macro, hay una cosa de la que debemos ocuparnos, y es seleccionar la celda objetivo antes de comenzar a grabar.

La razón de esto es que si seleccionamos una celda mientras grabamos la macro, también grabará esa selección.

Entonces, cuando vuelvas a ejecutar esta macro, seleccionará esa celda en particular para aplicarle todo el formato. Pero lo que queremos es aplicar el formato en la celda que está activa (que está seleccionada).

Pasos para grabar una macro usando la grabadora de macros

Para GRABAR una MACRO en Excel, puede utilizar los siguientes pasos:

  1. Primero que nada, selecciona la celda A4 (es la celda donde vamos a aplicar el formato y grabación de nuestra macro).
    Grabar una macro (Grabadora de macros)
  2. Después de eso, vaya a la “Pestaña Desarrollador” y antes de presionar el botón “GRABAR”, active la referencia relativa (lo aprenderemos en unos minutos).
    Grabar una macro (Grabadora de macros)
  3. Pulsa el botón de grabar.
  4. Y en el momento en que hagas clic en él, aparecerá un cuadro de diálogo para completar algunos de los detalles sobre la macro que vas a grabar (sí, necesitamos completarlo).
    Grabar una macro (Grabadora de macros)
    • Nombre de la macro: “HighlightCell”.
    • Tecla de método abreviado: Presione Shift + H para definir el método abreviado de teclado Control + Shift + H.
    • Guardar macro en: seleccione Libro de macros personal.
    • Descripción: esta macro aplica un color rojo, tamaño de fuente 12, estilo de fuente Verdana y pone la fuente en negrita.
  5. Finalmente, haga clic en Aceptar.
  6. En este punto, Excel comienza a grabar todo (puedes ver el ícono en la barra de estado que dice “Una macro está grabando actualmente, haz clic para detener la grabación”).
    Grabar una macro (Grabadora de macros)
  7. Ahora, aplique los cuatro formatos que hemos decidido.
    Grabar una macro (Grabadora de macros)
    • Color de fuente: rojo
    • Tamaño de fuente: 12
    • Estilo de fuente: Verdena
    • Texto de fuente: Negrita
  8. Una vez que hagas esto, regresa a la pestaña de desarrollador y haz clic en “Detener grabación” o también puedes detener la grabación desde la barra de estado donde dice “haz clic aquí para detener la grabación”.
    Grabar una macro (Grabadora de macros)

¡Felicidades! Lo ha logrado y en este punto tiene una macro grabada en su libro de trabajo, pero ahora lo siguiente es comprenderla.

Cómo la grabadora de macros genera un código

La grabadora de macros genera un código para usted en el back-end cuando realiza las actividades.

Para entender esto, primero debes ver el código. Entonces, para esto, abra el Editor Visual Básicovaya a la pestaña Desarrollador ➜ editor de Visual Basic.

Grabar una macro (Grabadora de macros)

Y luego abre el módulo 1 donde tienes almacenado tu código.

Grabar una macro (Grabadora de macros)

En la ventana de código, puede ver el código completo que genera la grabadora de macros junto con todos los detalles que ha ingresado.

Como puede ver, el nombre de la macro, la tecla de acceso directo y la descripción están antes del código.

Ahora entendamos el código. (Como dije antes, la grabadora de macros no crea un código perfecto, por lo que debes limpiarlo cada vez, y aprenderemos esto en la siguiente parte).

Ha realizado las cuatro actividades y la grabadora de macros ha generado el código en cuatro partes.

Grabar una macro (Grabadora de macros)
  1. En la primera parte, el código dice que el color de fuente de la celda seleccionada debe ser rojo y ha utilizado un valor numérico para ello.
  2. La segunda parte del código dice que el tamaño de fuente de las celdas seleccionadas debe ser “12”.
  3. Y en la tercera parte, dice que el estilo de fuente debe ser “Verdana”.
  4. Por último, en la cuarta parte, dice que la fuente de la celda seleccionada debe estar en negrita.

Limpiar macro grabada

En este punto, ha grabado su primera macro y sabe cómo se genera ese código. Pero necesitas limpiar el código que tienes en el módulo.

Sub HighlightCell()
'
'HighlightCell Macro
'This macro applies a red   color, font size 12,
'font style Verdana, and makes the font bold
'
'Keyboard Shortcut:   Ctrl+Shift+H
'
With Selection.Font
   .Color = -16776961
   .TintAndShade = 0
End With
  
With Selection.Font
   .Name = "Calibri"
   .Size = 12
   .Strikethrough = False
   .Superscript = False
   .Subscript = False
   .OutlineFont = False
   .Shadow = False
   .Underline = xlUnderlineStyleNo
   .Color = -16776961
   .TintAndShade = 0
   .ThemeFont = xlThemeFontMinor
End With
   
With Selection.Font
   .Name = "Verdana"
   .Size = 12
   .Strikethrough = False
   .Superscript = False
   .Subscript = False
   .OutlineFont = False
   .Shadow = False
   .Underline = xlUnderlineStyleNone
   .Color = -16776961
   .TintAndShade = 0
   .ThemeFont = xlThemeFontNone
End With  
Selection.Font.Bold = True
   
End Sub   

Si miras de cerca, es mucho más largo que las actividades que puede realizar. Hay muchas propiedades incluidas en este código que no son obligatorias.

No solo con este código, cada vez que grabes una macro, debes limpiarla cada vez.

Pero antes de comenzar a limpiar este código, debes recordar las cuatro actividades que has realizado y para las cuales necesitas tener código en tu módulo:

  • Color de fuente: rojo
  • Tamaño de fuente: 12
  • Estilo de fuente: Verdena
  • Texto de fuente: Negrita

Identifiquemos las líneas de código que ejecutan estas cuatro actividades.

Grabar una macro (Grabadora de macros)

Ahora identificó las líneas de código que realizan las actividades reales que ha realizado y también tenemos este código en cuatro partes.

Es hora de limpiar el código y eliminar todas las líneas no deseadas. Siga los pasos a continuación.

  • En la PRIMERA parte, necesita el código de línea que aplica el color de fuente ROJO, por lo que la propiedad “TintAndShade” no lo requiere.
Grabar una macro (Grabadora de macros)
  • Ahora, en la SEGUNDA parte, lo que necesitamos es el tamaño de la fuente, no todas las demás propiedades, así que elimínelas.
Grabar una macro (Grabadora de macros)
  • Después de eso, en la TERCERA parte, necesitamos tener la propiedad del nombre de la fuente, así que elimine todas las demás propiedades.
Grabar una macro (Grabadora de macros)
  • En la CUARTA parte, solo tienes una línea de código, que es para poner la fuente en negrita.

En este punto, el código se parece a esto, que es mucho menor que el código generado por la grabadora de macros.

Grabar una macro (Grabadora de macros)
Sub HighlightCell()
'
'HighlightCell Macro
'This macro applies a red   color, font size 12,
'font style Verdana, and makes the font bold
'
'Keyboard Shortcut:   Ctrl+Shift+H
'
With Selection.Font
 .Color = -16776961
End With
  
With Selection.Font
 .Size = 12
End With
  
With Selection.Font
 .Name = "Verdana"
End With
   
Selection.Font.Bold = True
   
End Sub 

Pero aún hay más que puedes hacer.

Si observa detenidamente el código, ha utilizado “With Selection.Font” cuatro veces, pero como se refiere al mismo objeto para las cuatro propiedades, puede usarlo una vez.

Entonces el código final será:

Grabar una macro (Grabadora de macros)
Sub HighlightCell()
'
'HighlightCell Macro
'This macro applies a red   color, font size 12,
'font style Verdana, and makes the font bold
'
'Keyboard Shortcut:   Ctrl+Shift+H
'
With Selection.Font
 .Color = -16776961
 .Name = "Verdana"
 .Size = 12
 .Bold = True
End With
End Sub 

Cuando ejecute este código, realizará las mismas actividades que ha registrado.

¿Qué acabas de hacer?

En el nuevo código, solo tienes líneas de código que realizan las actividades que necesitas.

El punto a entender aquí es que con cada objeto, siempre hay algunas propiedades, y cuando la grabadora de macros registra, agrega todas esas propiedades con ese objeto incluso si no las usa.

Es por eso que necesitas eliminar todas esas propiedades del código.

Y la otra cosa es que, incluso si estás usando solo un objeto en tu código, la grabadora de macros hace referencia a él una y otra vez cuando realizas diferentes actividades y es por eso que has usado “Con Selección”. Fuente” solo una vez y agregue todas las propiedades debajo de ella.

En cualquier situación, para limpiar un código generado por la grabadora de macros, debe identificar las líneas de código reales que realizan las actividades que necesita y eliminar el resto.

Mientras se limpia un código de macro grabado, la mejor manera es depurar el código paso a paso.

Lee esto

  • Abra el editor VBA y la ventana de Excel uno al lado del otro y luego presione F8 para ejecutar el código paso a paso.
  • Como tiene la ventana de Excel abierta al costado, puede ver qué línea de código realiza la actividad.
  • Y una vez que identifique el código que necesita, podrá eliminar el código que no es necesario.

Nombrar una macro

Siempre que grabes una macro, es necesario que le des un nombre, pero hay algunas reglas que un nombre debe cumplir:

  • Puede tener un nombre de macro de hasta 80 caracteres.
  • No puedes utilizar espacios, puntuación ni caracteres especiales.
  • Debe comenzar con una letra.

Aparte de estas reglas, hay algunas palabras que VBA prohíbe usar como nombre.

Por otro lado, es fundamental utilizar un nombre significativo en lugar de tener nombres predeterminados como Macro1 o Prueba1.

Como no puede usar espacios en el nombre de una macro, pero puede usar un guión bajo o puede poner la primera letra de cada palabra en mayúscula para aumentar la legibilidad.

Almacenamiento de la macro grabada

Antes de grabar una macro necesitas especificar dónde quieres guardarla y tienes tres opciones para ello:

Grabar una macro (Grabadora de macros)
  • Nuevo libro de trabajo: Puede seleccionar esta opción si desea grabar su macro en un nuevo libro de trabajo.
  • Este libro de trabajo: Al seleccionar esta opción, puede grabar la macro en el libro de trabajo actual.
  • Libro de macros personal: Con esta opción, puede acceder a macros de todos los libros.

Referencia relativa

Mientras grababa la macro anterior, le dije que seleccionara “Usar referencias relativas” antes de presionar el botón “Iniciar grabación”.

En Excel, cuando graba una macro, Excel usa la “Referencia absoluta” de forma predeterminada. Sin embargo, puede cambiarlo antes de grabar una macro.

El punto es que usar referencias relativas es crucial si desea que una macro realice la actividad registrada en cualquier parte de la hoja de trabajo.

Para que entiendas la diferencia entre ambos modos de referencia, quiero que registres la actividad de dos formas diferentes.

  • En primer lugar, seleccione la celda A1 y comience a grabar una macro (sin activar “Usar referencia relativa”), y seleccione la celda E5.
  • Obtendrá el siguiente código mediante la grabadora de macros:
Sub AbsoluteReferenceMacro()
Range("E5").Select
End Sub  
  • Ahora nuevamente, seleccione la celda A1, active “Usar referencia relativa” y registre la misma actividad (seleccione la celda E5).
  • Pero en este momento el código que obtuviste es diferente:
Sub RelativeReferenceMacro()
ActiveCell.Offset(4, 4).Range(“A1”).Select
End Sub

Ha registrado ambos códigos realizando la misma actividad pero utilizando diferentes modos de referencia. ¿Bien?

El primer código de macro es bastante sencillo de entender; dice seleccionar la celda E5.

Y si ejecutas esta macro, realiza lo mismo, es decir, seleccionar la celda E5, sin importar qué celda hayas seleccionado en ese momento.

Por otro lado, el segundo código de macro dice algo más, y si selecciona otra celda antes de ejecutar este código, seleccionará una celda diferente.

¿Por qué?

Cuando grabó esta macro, la celda activa era A1 y luego seleccionó E5, que está cuatro celdas hacia abajo y cuatro celdas a la derecha de la celda A1.

Ahora, como ha grabado esta macro con referencia relativa, esto siempre seleccionará la celda, que está cuatro celdas hacia abajo y cuatro celdas a la derecha de la celda activa.

Digamos que si la celda activa es D4, entonces seleccionará la celda H8, que está cuatro celdas hacia abajo y cuatro celdas hacia la derecha.

Puedes cambiar la referencia en cualquier momento, incluso en mitad de la grabación.

Pausar una macro

Desafortunadamente, Excel no le permite pausar una macro mientras la graba. Es posible en Microsoft Word, pero no en Excel.

Si está grabando una macro en la que necesita realizar muchas actividades, es mejor grabarla en partes para tener menos posibilidades de cometer errores.

Limitaciones de la grabadora de macros

Sí, la grabadora de macros viene con algunas limitaciones. Hay muchas cosas que puedes realizar con un código VBA, pero la grabadora de macros no puede registrar todas las actividades.

  • No se puede crear una función personalizada: VBA le permite crear una función personalizada que puede usar en la hoja de trabajo, pero no es posible mientras graba una macro.
  • No puedo usar funciones integradas: VBA tiene sus funciones (Funciones VBA), pero no puedes usarlas con la grabadora de macros.
  • No se pueden probar las condiciones: Mientras graba una macro, no puede usar la instrucción VBA IF Then Else para verificar las condiciones.
  • No se puede realizar un bucle: En VBA, puede usar declaraciones de bucle mientras escribe código, pero no es posible con la grabadora de macros.
  • No se puede realizar una actividad con el objeto.: Mientras graba una macro, no puede realizar una acción sin seleccionar un objeto. Por ejemplo, si desea poner en negrita un texto de una celda en particular, primero debe seleccionar esa celda.

¿Vale la pena utilizar la grabadora de macros?

Apuesto a que tienes esta pregunta en mente y es válida. Permítanme compartirles una historia personal para responder esta pregunta.

Hace unos años, estaba trabajando en un código VBA para insertar una tabla dinámica y en ese momento no conocía todos los objetos que necesito usar para escribir este código. Entonces, lo que hice fue grabar una macro mientras creaba una tabla dinámica manualmente.

Luego revisé ese código para comprender todo el proceso involucrado en la inserción de una tabla dinámica. Sí, ese código no era perfecto pero me dio una idea para escribir.

Mi punto es que podría haber situaciones en las que necesites escribir el código y la grabadora de macros puede ayudarte en ese momento. La grabadora de macros también me ayudó a escribir códigos para esta plantilla de inventario.

Terminando

Debe concentrarse en los siguientes puntos para grabar una macro con éxito:

  • Configure el libro de trabajo en el que va a grabar la macro y cierre todos los demás libros de trabajo.
  • Asegúrese de seleccionar el objeto correcto para grabar la macro.
  • Asegúrese de decidir utilizar referencias absolutas o relativas antes de grabar la macro.
  • Planifica las acciones que quieres realizar.
¿Dónde está el botón Grabador de macros?

Está en el grupo de códigos de la pestaña Desarrollador.

¿Cómo puedo ver el código generado por la grabadora de macros?

Puedes verlo desde el editor visual basic.

¿La grabadora de macros genera un código perfecto?

En realidad no, necesitas limpiar ese código después de grabarlo.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Grabar una macro (Grabadora de macros)

La grabadora de macros es una herramienta muy útil que te permite automatizar tareas repetitivas en tu ordenador. Con la grabadora de macros, puedes grabar una secuencia de acciones y luego reproducirla con solo hacer clic en un botón. Esto puede ahorrarte mucho tiempo y esfuerzo, especialmente si realizas tareas similares con frecuencia. En este artículo, responderemos algunas preguntas frecuentes sobre cómo grabar una macro con la grabadora de macros.

¿Qué es una macro?

Una macro es una secuencia de comandos o instrucciones que se graban para realizar una serie de acciones automáticamente. En el caso de la grabadora de macros, estas acciones pueden incluir movimientos del ratón, pulsaciones de teclas y comandos específicos del programa. Al grabar una macro, registras estas acciones y luego puedes reproducirlas rápidamente.

¿Cómo grabo una macro con la grabadora de macros?

Para grabar una macro con la grabadora de macros, sigue estos simples pasos:

  1. Abre el programa en el que deseas grabar la macro.
  2. Busca la opción “Grabar macro” o “Grabadora de macros” en la barra de herramientas o en el menú del programa.
  3. Haz clic en el botón “Grabar” para iniciar la grabación.
  4. Realiza las acciones que deseas grabar. Por ejemplo, si deseas grabar una macro para dar formato a un documento de Word, puedes seleccionar el texto, cambiar la fuente, aplicar negrita, etc.
  5. Una vez que hayas terminado de realizar las acciones, haz clic en el botón “Detener” en la grabadora de macros.
  6. Asigna un nombre a tu macro y guárdala.

¡Y eso es todo! Ahora tienes una macro grabada que puedes reproducir en cualquier momento.

¿Puedo editar o personalizar una macro grabada?

Sí, puedes editar y personalizar una macro grabada. Después de grabar una macro, puedes abrir el editor de macros para realizar cambios en la secuencia de acciones. Por ejemplo, puedes agregar o eliminar pasos, modificar los comandos existentes o asignar un atajo de teclado para ejecutar la macro.

¿Dónde puedo aprender más sobre macros y la grabadora de macros?

Si deseas aprender más sobre macros y la grabadora de macros, aquí tienes algunas fuentes adicionales de información:

  • La documentación oficial del programa en el que deseas grabar macros suele ser una excelente fuente de información. Visita el sitio web del desarrollador del programa para encontrar guías, tutoriales y documentación detallada.
  • Foros y comunidades en línea relacionadas con el programa o la grabación de macros. Muchas veces, otros usuarios experimentados pueden proporcionar consejos útiles y soluciones a problemas comunes.
  • Tutoriales en vídeo en plataformas como YouTube. Busca tutoriales sobre grabación de macros en el programa específico para visualizar los pasos y las técnicas.

¡Ahora estás listo para comenzar a grabar tus propias macros con la grabadora de macros! ¡Ahorra tiempo y haz tus tareas de manera más eficiente con esta útil herramienta!

Deja un comentario