Visual Basic para Aplicaciones - Ver si celda corresponde a un rango

Life is soft - evento anual de software empresarial
   
Vista:

Ver si celda corresponde a un rango

Publicado por Carlos (8 intervenciones) el 29/01/2008 15:42:32
Como puedo verificar si una celda corresponde a un rango, es decir, mi codigo basicamente es asi:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$E$10" Then 'AQUI QUIERO COMPARAR CON UN RANGO
Combo.Left = Target.Left
Combo.Top = Target.Top
Combo.Visible = True
Else
Combo.Visible = False
End If
End Sub

La idea es abrir un combobox al clickear en una celda dentro de un rango correspondiente

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ver si celda corresponde a un rango

Publicado por Carlos (8 intervenciones) el 29/01/2008 15:50:24
jajajaj se me acaba de ocurrir despues de poster.
Si lo quisiera en el rango E10:I10 juego con las propiedades columna y filas:

If Target.Column <= 9 And Target.Column >= 5 And Target.Row = 10 Then
Combo.Left = Target.Left
Combo.Top = Target.Top
Combo.Visible = True
Else
Combo.Visible = False
End If

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ver si celda corresponde a un rango

Publicado por JuanC (243 intervenciones) el 29/01/2008 15:52:26
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [A1:D10]) Is Nothing Then
MsgBox "En rango"
Else
MsgBox "Fuera de rango"
End If
End Sub

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ver si celda corresponde a un rango

Publicado por Leonel (1 intervención) el 17/02/2008 04:41:45
Con el metodo intersect del object application

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r1 As Range
Dim r2 As Range
Dim isect As Range ' rang en la que los rangos se intersectan
Set r1 = Range("A1:C10")
Set r2 = Target
Set isect = Application.intersect(r1, r2)
If isect Is Nothing Then
MsgBox "fuera de rang"
Else
MsgBox "en el rango"
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar