martes, 2 de agosto de 2016

Uso del método Intersect en Excel VBA



Las posibilidades del método Intersect en VBA, con la combinación del evento Change podemos ejecutar ciertas líneas de código cuando una celda en particular es seleccionada, a continuacion unos ejemplos de su aplicación.

Se activa el cuadro de mensaje al hacer click en la celda "A1":
método Intersect



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar de la columna "A":

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar de la columna "A" a "B":

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:B")) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar en el rango de "A1 a A20":

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A20")) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar en varias áreas:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A10, B2:B10, C3:C10, D4:D10, E5:E10 ")) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar en varias columnas:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A, C:C, E:E")) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar de la fila 1:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Rows(1)) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar entre las líneas 1 y 4:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range(Rows(1), Rows(4))) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Se activa el cuadro de mensaje al hacer click en cualquier lugar de las líneas 1 y 4:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:E1, A4:E4")) Is Nothing Then
MsgBox "Click en " & Target.Address, , "Freelancer Excel VBA"
End If
End Sub


Copia el dato seleccionado al hacer  doble click en cualquier lugar de la columna “A y B”, pasa el dato en la celda D1 y activa la celda de abajo:

Target, Range,VBA Excel

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Intersect(Target, Range("A:B")) Is Nothing Then
  Exit Sub
 Else
    [D1] = ActiveCell.FormulaR1C1
    Target.Offset(1, 0).Select
 End If
End Sub



No hay comentarios :

Publicar un comentario