Cuando estas instrucciones son repetitivas las llamamos Bucles.
Así encontramos diferentes bucles que pueden ser:
- While......Wend
- Do (While)...... Loop y su variante: Do.....Loop While
- Do (Until)........Loop y su variante: Do..... Loop Until
- For ...Next
- For Each .... Next
Luego encontramos otras estructuras, que si bien no son repetitivas presentan un bloque de instrucciones comunes a varios escenarios:
- If .....Else......End If
- Select Case.... End Select
- With .....End With
Estas estructuras pueden estar contenidas unas dentro de otras.
Para el ejemplo, imaginemos que tenemos un libro con gran cantidad de hojas cada una con su formato: rangos de datos que inician y finalizan en diferentes filas y columnas, hojas en las que se borra un rango completo y otras donde deben ser mantenidas las fórmulas, diferentes condiciones a la hora de protegerlas... y así cada hoja tendrá sus propias características.
Si trabajamos en un libro durante el diseño y programación agregando registros de prueba, en algún momento necesitaremos dejarlo limpio de datos para iniciar su uso real.
O quizás al finalizar por ejemplo un año contable, se necesitan limpiar algunas hojas de registros para iniciar un nuevo período.
Entonces utilizaremos varias de estas estructuras para luego incorporar las instrucciones de borrado de datos.
A continuación se puede observar el armado de la macro con el uso de las siguientes estructuras:
- For Each......Next
- Select Case ..... End Select
- With ......End With
Sub LIMPIAR()
'se recorren todas las hojas que deben ser vaciadas de datos:
For Each sh In Sheets
'se evalúa cuál es la hoja
Select Case sh.Name
Select Case sh.Name
'según el nombre de la hoja serán las instrucciones de borrado
Case Is = "PRODUCTOS"
With Sheets("PRODUCTOS")Case Is = "PRODUCTOS"
'instrucciones para hoja Productos
End With
Case Is = "MOVTOS"
With Sheets("MOVTOS")
'instrucciones para hoja Movimientos
End With
'el resto de las hojas
End Select
Next sh
End Sub
En el siguiente VIDEO N° 19 se explica en detalle este tema.
No hay comentarios.:
Publicar un comentario