Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

¿Cómo usar el grabador de Macros?

| 19 comentarios

¿Cómo usar el grabador de Macros?
La grabadora de macros recopila acciones que el usuario ejecuta mientras trabaja. Así, cuando la macro está en ejecución, la secuencia de instrucciones grabadas indica a Microsoft Excel lo que se debe hacer. La grabadora de macros realiza lo que el usuario hizo al igual que un Ipod reproduce lo que una persona dice.

Para crear y grabar una macro es necesario el siguiente procedimiento:

  •  Para iniciar la grabación de una macro nos ubicamos en la cinta de opciones y elija la pestaña Vista, luego seleccione el icono Macros.
  • A continuación elija Grabar macro.

foto 1

(Para mayor visualización de  la imagen, hacer click en la misma)

  •       Ahora aparecerá la ventana grabar macro

foto 2

(Para mayor visualización de  la imagen, hacer click en la misma)

En el primer recuadro se elige el nombre de la macro.

En el cuadro de Método abreviado se puede colocar una combinación de teclas que puede ser Ctrl + cualquier tecla o CTRL +MAYÚS+ cualquier tecla.

En el cuadro Guardar macro en, elija dónde guardar la macro. Si desea que la macro esté disponible siempre escoja Libro de macros personal. Si lo guardar en el mismo libro o en el libro nuevo, cuando lo abra en otra computadora, en caso de que no copie también ese libro entonces no se podrá usar la macro.

  •       En el cuadro descripción, escriba lo que usted crea conveniente.
  •       Luego de realizar las acciones que desea grabar pulse el botón Detener grabación.

foto3

(Para mayor visualización de  la imagen, hacer click en la misma)

Ejemplo:

De la siguiente tabla crear una macro que permita automáticamente ordenar la tabla por edad.

foto4

(Para mayor visualización de  la imagen, hacer click en la misma)

1.       Seleccionamos el rango B2:G13

2.       Como explicamos, ingresamos a la opción grabar macro.

3.       En la ventana Grabar macro colocamos los datos:

foto 5

4.       A partir de ahora se empiezan a grabar todas las acciones que se realicen en la hoja de cálculo.

5.       Ahora vamos a la pestaña Datos y hacemos click en Ordenar:

foto 6

(Para mayor visualización de  la imagen, hacer click en la misma)

6.      Se realizan las acciones necesarias y se hace clic en Aceptar.

7.      Por último, la lista se ordena y se da clic en el botón Detener Grabación. La lista se mostrará así:

foto7

(Para mayor visualización de  la imagen, hacer click en la misma)

19 comentarios

  1. Hola,
    Acabo de crear una pequeña BD en Excel y generé dos macros. Una de las macros ordenaba la información por el campo "Edad" y la otra por el campo "Nombres". Las macros funcionaron. Pero luego de ello, inserté un par de filas sobre el encabezado de la BD. El resultado: La BD se desordenó. Ingresé al Editor de Visual Basic y observé que el rango con el que generé las macros se encontraba invariable (B2:E10), y yo había trasladado la base de datos un par de filas hacia abajo (B4:E12).
    Sugiero, caso generen macros en una BD en Excel, eviten insertar filas después de crear la macro; caso contrario, deberán ingresar al Editor de Visual Basic y modificar los rangos que se hayan generado en la macro.
    Si existe otra solución para esta situación, agradeceré hacerla extensiva.
    Saludos,

    • Hola Juan, en efecto la solución va por lo que tú indicas: hay que entrar al editor de Visula Basic para modificar el código.

      Este es un problema más o menos común cuando programas ya sea con las macros automáticas o programando directamente. Una vez que haces referencia a celdas dentro de la macro y deseas modificar la posición de las celdas en tu hoja tienes que modificar todas las referencias al interior de las macros, por eso es mejor trabajar con el diseño de página primero y cuando los diseños de captura de datos, BD, reportes y todas las hojas que necesites estén bien definidas, recién empiezas a crear el código VBA de las macros que comandarán la información en las hojas.

      La macro automática te ayudará con la parte más difícil, luego entras y le haces pequeños ajustes que te permitirán que la macro que ordena tu BD sea funcional independientemente de la cantidad de registros que tenga.

      Prueba esto: ingresa al código y modifica el rango de ordenamiento, en tu código vas a identificarlo fácilmente dentro del With, es algo así:

      .SetRange Range("B2:E10")

      y lo modificas (estimando la cantidad de registros que tendrá tu BD, por ejemplo 500 registros) y quedaría así:

      .SetRange Range("B2:E501")

      Con esto podrás insertar la cantidad de registros que desees (hasta 500 según el ejemplo) y tu macro seguirá funcionando.

      Saludos,
      Wilbert Ríos

  2. Para este tema más que un comentario tengo una consulta:

    Me ha pasado que luego de crear una macro automática y le he asignado una combinación de 3 teclas para método abreviado (p.e. SHIFT + CTRL + E) luego ha entrado en conflicto con otra combinación del mismo tipo de otros programas y entonces he querido cambiar la combinación del método abreviado de mi macro y no sé cómo hacerlo.

    En la práctica lo solucioné creando una nueva macro automática, con otro método abrevido pero creo que no es la mejor solución estimo que existe una forma (que no sé cuál es) que permite cambiar la combinación de teclas del método abreviado de una macro automática.

    Agradeceré la ayuda por este medio pues estimo que será de ayuda para muchos.

    Saludos,
    Wilbert Ríos

    • Sí se puede modificar la combinación de teclas que le asignaste a una macro. Primero tienes que poner en "Ver macros". Luego seleccionas la macro que deseas editar. Seguido a esto le das click en "opciones" y ahí aparece un cuadro que te permite modificar la combinación para el método abreviado. Espero que te ayude.

      Saludos,
      Paulo Cisneros

    • Si lo que quieres es simplemente modificar la tecla de ejecución de una macro, debes entrar a programador, luego haz click en la opción Macros, ahí te saldrán todas las macros existentes, seleccionas la que deseas modificar y das click en Opciones, te aparecerá el cuadro de "Opciones de Macro"; y es ahí donde puedes modificar las tecla de método abreviado.

    • Wilbert:

      Para poder modificar el método abreviado, una de las opciones es: de nuestra barra que tenemos en la hoja de excel, le des click al icono MACROS, que esta al costado del Botón Visual Basic, le des modificar, el cual te mandara a la ventana del VBA, y podrás modificar el método abreviado siempre y cuando lo hallas colocado, sino, añadirás en una fila: ' Acceso directo: Ctrl+Mayús+(letra)
      Otro caso es cuando tu creas una macro dentro de la ventana VBA, si colocaste el metodo abreviado, solo tendrás que cambiar la letra del acceso directo, caso contrario, si no lo has creado, añade una fila con esto: ' Acceso directo: Ctrl+Mayús+(letra)

      Saludos

  3. Hola, muy buena explicacion aacerca de como hacer una macro simple a travez de grabar.

  4. Hola,
    Me gustó el post pero más interesante me pareció la pregunta de Juan y la solución de la misma.

  5. Creo que los macros son más sencillo de lo que pensaba...

  6. muy interesante

  7. Muy buena información. Excelente

  8. Para cambiar la combinación de teclas de una macro se debe ingresar a "Ver Macros", hacer click sobre la macro a modificar y al lado derecho aparece el botón "Opciones", donde se puede modificar la combinación de teclas. No obstante, tal y como haz podido comprobar, puede haber conflicto con otros comandos que tengan la misma combinación, por tanto, lo mas recomendable es que le asignes un nombre a la macro que haga referencia a su contenido y que te sea fácil de recordar, en caso sea una macro que vayas a emplear seguidamente.

  9. En primer lugar, se debe de activar la pestaña de Programador en el Word (en la parte superior hay un botón desplegable de forma de triángulo invertido --> más comandos --> Programado--> aceptar).
    Al grabar la macro hay que ser cuidadosos, porque registra cada paso que se realiza.
    1. Se hace click en grabar macro
    2. Cada selección de celda o agregación de palabra en ella, entre otras acciones en el excel será grabado hasta que se ponga detener macro.

  10. No hay que olvidarse que al guardar la macro, hay diferentes maneras de guardar el archivo de excel. Por ejemplo, guardar la macro en:
    1. Este libro
    2. Libro Nuevo
    3. Libros de macro personal (La macro solo se ejecuta en mi libro, es decir, solo en mi computadora)

  11. Hola, tengo una duda. ¿Es posible grabar dentro de una macro acciones que no son estrictamente parte de excel? Un ejemplo es poder realizar un proceso como “eliminar la fila 10” y seguido aplicar Imprimir pantalla, que es una acción posible de hacer manualmente en excel.

    • Si es posible grabar esa macro de eliminar cualquier fila. Es muy sencillo usando el grabador de macros:
      1. Selecciona toda la fila 10
      2. Clic derecho y Eliminar
      3. Detener la macro
      4. En Visual Basic notarás los pasos que has hecho:

      Sub Macro1()

      Rows("10:10").Select
      Selection.Delete Shift:=xlUp
      End Sub

  12. Se debe de tener en cuenta las siguientes consideraciones de uso con el grabador de macros:
    * Es apropiado para poder grabar pequeñas rutinas.
    * No realiza interacciones, no asigna variables ni ejecuta condiciones.
    * Elimina código innecesario.

  13. Grabe una macro y me aparece el error subindice fuera del intervalo y el error es 9 como puedo solucionar esto

  14. Como puedo dar secuencia a dos macros diferentes la una es para cambiar la fecha y otra para buscar pero no tienen secuencia

Deja una respuesta

Los campos requeridos estan marcados con *.