3.201 cursos gratis
6.235.079 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Ofimática > Curso de Excel XP (segunda parte) > Cómo hacer que un macro se repita

Curso de Excel XP (segunda parte)

Autor: Xavi Llunell
Curso:  4,91/5 4,91/5 (198 opiniones) |43531 alumnos|Fecha publicación: 05/05/2003
Capítulos del curso

Capítulo 15:

 Cómo hacer que un macro se repita

Hacer que la macro se repita mediante un bucle.- Con esto, conseguiríamos que el cursor se desplazase una fila hacia abajo, pero luego se pararía. Tendríamos que ir pulsando Ctrl + K constantemente. Debemos crear un bucle controlado de forma que la macro se ejecute una y otra vez hasta que nosotros lo decidamos.

Para ello, crearemos un procedimiento personalizado en el que se creará un bucle que contendrá la macro:

Procedimiento

Comienzo del bucle

Macro

Fin del bucle y volver a comenzar bucle

Fin del procedimiento

Ahora bien, ¿cómo sabe él cuando tiene que parar el bucle? Evidentemente no continuará hasta la fila 65.536. ¿Cuándo debe parar? Cuando encuentre la primera celda vacía. En ese momento parará.

Procedimiento

Comienzo del bucle. Repetir bucle hasta que celda activa = ""

Macro

Fin del bucle y volver a comenzar bucle

Fin del procedimiento

Su equivalente en lenguaje basic sería:

Cómo hacer que un macro se repita

El bucle Do Until...Loop (repetir hasta que se cumpla la condición) verifica que cada vuelta se vaya comprobando que la condición no se cumple. En el momento en que se cumple, es decir, en que la celda activa no contiene nada (""), se detiene el bucle.

13.Modifica el código de la macro como este último ejemplo, sitúate en la celda D3 y ejecuta la macro.

¿A que ya va pareciendo otra cosa? No obstante continúan los inconvenientes. La macro se detiene. Tendríamos que volver a situar el cursor en la primera celda a comprobar de la segunda columna. Vamos a desplazar la celda activa para que se sitúe automáticamente en la siguiente columna.

Podríamos, al finalizar el bucle, añadir la siguiente línea:

Loop

Range("E3").Select

End Sub

Y Excel situaría el cursor automáticamente en la siguiente columna. A continuación sólo quedará volver a ejecutar la macro. El problema viene cuando haya que volver a ejecutarla en la siguiente columna; el cursor volverá a la celda E3.

Vamos a añadir líneas de código que desplacen el cursor hacia arriba y lo sitúen en la siguiente celda con un valor numérico. Corresponde a las pulsaciones Flecha derecha, Flecha arriba, Fin, Flecha arriba, Flecha abajo que serían las encargadas de situar el cursor en la siguiente columna.

ActiveCell.Offset(0, 1).Activate

ActiveCell.Offset(-1, 0).Activate

Selection.End(xlUp).Select

ActiveCell.Offset(1, 0).Activate

De esta forma, controlamos la posición del cursor de forma que se sitúe en la primera celda numérica de la siguiente columna.

1.Modifica la macro de esta forma.

2.Prueba la macro.

3.En la siguiente columna, vuelve a ejecutar la macro.

La macro debería pasar siempre de una columna a otra.

Capítulo siguiente - Anexo
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 198 opiniones. Opina sobre este curso.

Descarga el PDF gratis

Cursos similares a Curso de Excel XP (segunda parte)


Cursos Valoración Alumnos Vídeo
Curso avanzado de Word XP. Segunda parte
Word XP, incluido en el paquete de ofimática Office de Microsoft, es el programa más utilizado para el tratamiento de textos. Con él podemos crear y modificar cualquier t... [19/09/03]
 4,89/5 7.597  
Restaurar fotografías con Photoshop
Seguramente en alguna ocasión hemos tenido en nuestras manos alguna fotografía antigua en blanco y negro con algún tipo de deterioro por el paso del tiempo. En e... [26/01/05]
 4,81/5 54.931  
Sistemas operativos
Una breve reseña de lo que son los sistemas operativos, sus caracteristicas y las funciones que tienen, asi de como se clasifican dentro de todos los sistemas operativos ... [23/03/05]
 2,67/5 6.747  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail