En ocasiones necesitamos que se ejecute un código VBA de forma automática en la hoja sobre la que estamos trabajando.
En este ejemplo queremos que al seleccionar una celda de la tabla que esté en la columna1 y que no esté vacía, pinte de color verde toda la línea.
Para ello en el editor de Visual Basic escribiremos el código dentro de Microsoft Excel Objetos en la hoja que queramos , en este caso en la Hoja1.
Seleccionamos Worksheet y SelectionChange, automáticamente Excel crea el procedimiento que se ejecutará al seleccionar cualquier celda.
Escribe el código del ejemplo:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘Averiguamos la columna y fila de la celda activa y lo añadimos
‘a variables
Vcolum = ActiveCell.Column
Vfila = ActiveCell.Row
‘Con un condicional, si la celda activa está en la columna dos
‘y además no está vacía pinta de color el rango de esa fila desde la columna
‘más cinco columnas
If Vcolum = 1 And ActiveCell <> «» Then
Range(Cells(Vfila, Vcolum), Cells(Vfila, Vcolum + 5)).Select
With Selection.Interior
.Pattern = xlSolid
.ThemeColor = xlThemeColorAccent3
End With
End If
End Sub
Una vez escrito el código comprobaremos que al hacer clic en un celda de la columna1 que esté rellena , pinta la fila de color verde, si hacemos clic en una celda no rellena o diferente de la Columna1 no hará nada.
Deja una respuesta