excel-vba
Cómo grabar una macro
Buscar..
Cómo grabar una macro
La forma más fácil de grabar una macro es que el botón en la esquina inferior izquierda de Excel tenga este aspecto:
Cuando hagas clic en esto, aparecerá una ventana emergente que te pedirá que le asignes un nombre a la Macro y que decidas si quieres tener una tecla de acceso directo. Además, pregunta dónde almacenar la macro y para una descripción. Puede elegir el nombre que desee, no se permiten espacios.
Si desea tener un acceso directo asignado a su macro para un uso rápido, elija una letra que recordará para poder usar la macro rápida y fácilmente una y otra vez.
Puede almacenar la macro en "Este libro de trabajo", "Nuevo libro de trabajo" o "Libro de macros personal". Si desea que la macro que está a punto de grabar esté disponible solo en el libro de trabajo actual, elija "Este libro de trabajo". Si desea guardarlo en un libro nuevo, elija "Nuevo libro". Y si desea que la macro esté disponible para cualquier libro que abra, elija "Libro de macros personal".
Una vez que haya completado esta ventana emergente, haga clic en "Aceptar".
A continuación, realice las acciones que desee repetir con la macro. Cuando haya terminado, haga clic en el mismo botón para detener la grabación. Ahora se ve así:
Ahora puedes ir a la pestaña Desarrollador y abrir Visual Basic. (o use Alt + F11)
Ahora tendrá un nuevo módulo en la carpeta Módulos.
El módulo más nuevo contendrá la macro que acaba de grabar. Haga doble clic en él para que aparezca.
Hice un sencillo copiar y pegar:
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Copy
Range("A12").Select
ActiveSheet.Paste
End Sub
Si no desea que siempre se pegue en "A12", puede usar Referencias Relativas marcando la casilla "Usar Referencias Relativas" en la pestaña Desarrollador:
Siguiendo los mismos pasos que antes, ahora la Macro se convertirá en esto:
Sub Macro2()
'
' Macro2 Macro
'
'
Selection.Copy
ActiveCell.Offset(11, 0).Range("A1").Select
ActiveSheet.Paste
End Sub
Aún copiando el valor de "A1" en una celda 11 filas hacia abajo, pero ahora puede realizar la misma macro con cualquier celda inicial y el valor de esa celda se copiará en las celdas 11 filas hacia abajo.