Ejercicios con la Instrucción With end With de VBA
La Instrucción With End With en VBA le permite agrupar código que hace referencia al mismo objeto de una manera organizada y legible, mejorando la claridad y la facilidad de mantenimiento del programa.
¿Cómo funciona?
La estructura With End With funciona creando un contexto de tiempo para un objeto específico. En este contexto, puede acceder a las propiedades, métodos y eventos de un objeto de un vistazo sin tener que escribir el nombre del objeto cada vez.
With objeto
' Código que accede a las propiedades, métodos y eventos del objeto
End With
Beneficios:
- Organizar el código más clara y visualmente más atractiva.
- No es necesario volver a escribir los nombres de los objetos.
- Fácil de cambiar o agregar código asociado a objetos específicos.
Ejercicios:
1. Formatear celdas en Excel:
Supongamos que desea formatear un rango de celdas en Excel usando una fuente específica. Cree código VBA que utilice la construcción With End With para aplicar formato y mejorar la legibilidad y reducir la duplicación.
Sub FormatearCeldas()
' Definir el rango de celdas
Dim rangoCeldas As Range
Set rangoCeldas = Range("A1:C10")
' Aplicar formato con With...End With
With rangoCeldas
.Font.Size = 12
.Font.Bold = True
.Font.Italic = False
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End Sub
2. Cambiar el color de un formulario en Access:
Supongamos que desea cambiar el color de fondo de un formulario cuando se abre en Access. Cree código VBA que utilice la estructura With…End With para acceder a las propiedades del formulario y establecer el color deseado.
Private Sub Form_Open()
' Cambiar el color de fondo del formulario con With...End With
With Me
.BackColor = RGB(255, 0, 0) ' Rojo
End With
End Sub
3. Manipular objetos gráficos en Word:
Imagine que desea cambiar el tamaño y la posición de una imagen en un archivo de Word. Cree código VBA que utilice la estructura With…End With para acceder a las propiedades del objeto gráfico y realizar los cambios necesarios.
Sub ModificarImagenExcel()
' Obtener la referencia a la imagen
Dim imagen As Shape
Set imagen = Worksheets("Hoja1").Shapes("Imagen1") ' Suponiendo que la imagen está en A1 y se llama "Imagen1"
' Modificar el tamaño y la posición con With...End With
With imagen
.Left = 100 ' Ajustar la posición horizontal en puntos
.Top = 50 ' Ajustar la posición vertical en puntos
.Width = 200 ' Ajustar el ancho en puntos
.Height = 150 ' Ajustar la altura en puntos
End With
End Sub
hola buenas tardes desde España (valencia), hace poco que sigo el curso tuyo el único fallo que veo es que no acercas demasiado las instrucciones que editas en los modulo de vda si lo acercas un poco mas y se vería mejor, polo demás esta dodo bien
Gracias por la recomendación , lo voy a tener en cuenta