uso de Worksheet_Change(ByVal Target As Range)

07/07/2006 - 11:41 por Isaac | Informe spam
Estimados Amigos el siguiente codigo de la hoja2 oculta un cuadro combinado
(drop down 3), cuando j3 es diferente de 1, y funciona perfectamente, pero
cuando quiero ocultar otro cuadro combinado (drop drown 16) no
funciona.ayuda por favor

FUNCIONAL


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("j3")) Is Nothing Then Exit Sub
Me.DropDowns("Drop Down 3").Visible = CBool(Target.Value = 1)
End Sub


NO FUNCIONA

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("j3")) Is Nothing Then Exit Sub
Me.DropDowns("Drop Down 3").Visible = CBool(Target.Value = 1)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("BI2")) Is Nothing Then Exit Sub
Me.DropDowns("Drop Down 16").Visible = CBool(Target.Value = 1)
End Sub

Funciona solamente en el primer drop down3 el segundo ya no, compo puedo
corregir esto.
 

Leer las respuestas

#1 Isaac
07/07/2006 - 15:09 | Informe spam
Gracias KL funciona bien, te agradezco que a parte de dar la solucion me
hallas explicado el porque no funcionaba, gracias de nuevo

Isaac

"KL" escribió en el mensaje
news:e%
Hola Isaac,

Es bastante obvio :-)

Al principio de tu procedimiento usas la instruccion

If Intersect(Target, Me.Range("j3")) Is Nothing Then Exit Sub

si esta condicion no se cumple, se aborta el codigo y todo lo que tengas
mas abajo ya no importa.

Ademas, el uso del objeto Me es redundante ya que en modulos de clase a
falta de calificacion se asume Me por defecto.

Prueba lo siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, [j3]) Is Nothing Then
DropDowns("Drop Down 3").Visible = (Target = 1)
ElseIf Not Intersect(Target, [b12]) Is Nothing Then
DropDowns("Drop Down 16").Visible = (Target = 1)
End If
End Sub


Saludos,
KL


"Isaac" wrote in message
news:%
Estimados Amigos el siguiente codigo de la hoja2 oculta un cuadro
combinado (drop down 3), cuando j3 es diferente de 1, y funciona
perfectamente, pero cuando quiero ocultar otro cuadro combinado (drop
drown 16) no funciona.ayuda por favor

FUNCIONAL


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("j3")) Is Nothing Then Exit Sub
Me.DropDowns("Drop Down 3").Visible = CBool(Target.Value = 1)
End Sub


NO FUNCIONA

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("j3")) Is Nothing Then Exit Sub
Me.DropDowns("Drop Down 3").Visible = CBool(Target.Value = 1)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("BI2")) Is Nothing Then Exit Sub
Me.DropDowns("Drop Down 16").Visible = CBool(Target.Value = 1)
End Sub

Funciona solamente en el primer drop down3 el segundo ya no, compo puedo
corregir esto.






Preguntas similares