Ocultar fila / Boton Opcion

22/02/2007 - 11:18 por Albymar | Informe spam
Hola a todos:
El tema es el siguiente...
a) Tengo colocados en mi hoja tres Botones de Opcion (Barra de formularios)
vinculados a la celda [B4]...
b) Tengo la Fila 5 (Row(5)) siempre oculta...
Lo que quiero hacer es que...
cuando el valor de [B4]=2, la Row(5) sea visible, y...
con, cualquier, otro valor permanezca oculta.
He colocado en la Hoja el siguiente código y ni caso ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$4" Then Exit Sub
If [B4] = 2 Then
Rows(5).Hidden = False
Else
Rows(5).Hidden = True
End If
End Sub

¿Cual es el problema?, ¿Me podeis ayudar?
Gracias de antemano a todos.

Preguntas similare

Leer las respuestas

#1 Ivan
22/02/2007 - 15:22 | Informe spam
hola,

no estoy seguro del todo, y posiblemente haya formas mejores, pero creo que
esto funcionaria

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column=1 And .Row=4 then
if .Value=2 Then _
.Offset(1).EntireRow.Hidden=False Else _
.Offset(1).Entirrow.Hidden=True
End If
End with
End Sub

no lo he probado, pero supongo que por ahí podrían ir los tiros
(posiblemente vaya mejor usar 'Intersect', pero no lo control

un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#2 Ivan
22/02/2007 - 15:46 | Informe spam
FE de Erratas :

cambia el segundo EntireRow (he puesto Entirrow) por eso -> EntireRow

disculpa, y un saludo
Ivan
Respuesta Responder a este mensaje
#3 Juan M
22/02/2007 - 15:50 | Informe spam
"Albymar" escribió en el mensaje

Hola a todos:
El tema es el siguiente...
a) Tengo colocados en mi hoja tres Botones de Opcion (Barra de
formularios)
vinculados a la celda [B4]...
b) Tengo la Fila 5 (Row(5)) siempre oculta...
Lo que quiero hacer es que...
cuando el valor de [B4]=2, la Row(5) sea visible, y...
con, cualquier, otro valor permanezca oculta.
He colocado en la Hoja el siguiente código y ni caso ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$4" Then Exit Sub
If [B4] = 2 Then
Rows(5).Hidden = False
Else
Rows(5).Hidden = True
End If
End Sub

¿Cual es el problema?, ¿Me podeis ayudar?
Gracias de antemano a todos.




Hola

¿Has probado crear una macro que haga esa ocultación y asignarla a botón de
opción? En este caso creo que sería lo mas sencillo. Ya que al pulsar puedes
desencadenar el proceso, no es necesario cargar a los eventos de la hoja ese
codigo, que quieras o no se dispararia siempre que se cambie algo.

Te paso el codigo

Un saludo
Juan


Sub Oculta()
If Range("B4") = 2 Then
Rows(5).Hidden = false
Else
Rows(5).Hidden = true
End If
End Sub
Respuesta Responder a este mensaje
#4 Albymar
22/02/2007 - 16:24 | Informe spam
Hola a todos...
Gracias en particular a Ivan y Juan M. por vuestras respuestas y por vuestro
interes...
voy a estudiar, ambas, y a aplicarlas...
si tengo dudas, que no creo por que son clarisimas, ya os comentare...
me reitero en las gracias
Hasta otra
Respuesta Responder a este mensaje
#5 Ivan
22/02/2007 - 17:56 | Informe spam
hola chicos, aunque estoy de acuerdo con Juan, si te decantas por el evento
podrías simplificarlo así

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 1 And .Row = 4 Then
.Offset(1).EntireRow.Hidden = .Value <> 2
End If
End With
End Sub

un saludo
Ivan

PD: hola Juan, como te comentaba en el otro hilo, mi tendencia a complicarme
la vida no es pequeña
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida