La instrucción With:
Ejecuta una serie de instrucciones sobre un mismo objeto, ofrece varias ventajas, la primera es que ganas tiempo en escritura y la segunda que mejora la legibilidad del código.
With ActiveSheet
.Name = “Presupuesto”
.Range (“A1”) = "Presupuesto año 2011"
End With
La instrucción For Each…Next:
Las instrucciones For Each...Next repiten un bloque de instrucciones para cada uno de los objetos de una colección.
Queremos borrar todo el contenido de cada hoja antes de cerrar un libro.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Hoja As Worksheet
For Each Hoja In ThisWorkbook.Sheets
Hoja.Cells.Clear
Next Hoja
End Sub
Se puede salir de un bucle For Each...Next mediante la instrucción Exit For antes de que finalice.
Sub BuscaNumeros() For Each miObjeto In MiColeccion If IsNumeric(miObjeto.Value) = False ThenMsgBox "El objeto contiene un valor no numérico."
Exit For
End If Next cEnd SubLa instrucción If TypeOf:
La instrucción If TypeOf permite comprobar el tipo de objeto.
Sub ControlProcessor(MiControl As Control) If TypeOf MiControl Is CommandButton ThenDebug.Print "Ha pasado un " & TypeName(MiControl)
ElseIfTypeOf MiControl Is CheckBox Then
Debug.Print "Ha pasado un " & TypeName(MiControl)
ElseIfTypeOf MiControl Is TextBox Then
Debug.Print "Ha pasado un " & TypeName(MiControl)
End IfEnd Sub
La instrucción Set:
La instrucción Set nos permite atribuir la referencia de un objeto a una variable, llamada variable objeto.
Sub ModificarHoja()Dim Libro As WorkbookDim Hoja As Worksheet Set Libro = Application.Workbooks![Presupuesto.xls]Set Hoja = Libro.Worksheets![Presupuesto2011] With Hoja .Name = "Ventas 2011" .Range("A2") = "Ventas del año 2011" End WithSet Hoja = NothingEnd Sub
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.