viernes, 2 de diciembre de 2016

Excel Visual Basic macro o evento al seleccionar una celda

Para realizar cualquier operación desde Visual Basic al seleccionar una celda cualquiera en Excel podemos realizar el siguiente procedimiento:

1. Abrir desde VisualBasic la hoja sobre la cual queremos realizar el control


En este caso por ejemplo vamos a controlar una celda de la Hoja1


2. Ahora controlamos el evento sobre la celda.

Si hemos nombrado la celda puede ser de esta manera (supongamos que el nombre que le pusimos a la celda es nombreCelda)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)      
 
    If Not Application.Intersect(Range("nombreCelda"), Range(Target.Address)) _
          'Nuestro codigo aqui      
    End If

End Sub

En caso de no haber nombrado la celda puede hacerse así:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)      
 
   If Target.Address = "$E$3" Then
          'Nuestro codigo aqui      
    End If

End Sub

Si no queremos controlar solo una celda sino un rango de celdas podemos hacerlo asi:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range("A1:C10")
 
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then
        'Nuestro codigo aqui    
    End If
End Sub

No hay comentarios:

Publicar un comentario