Macro ejecutada sobre una hoja de Excel – Worksheet

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.

vbahoja2

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.

vbahoja3

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

vbahoja4

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.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s