Boton condicional

28/11/2008 - 17:45 por Juan Carlos | Informe spam
Buenas tardes querria saber si existe la forma de que mediante alguna
instruccion se pueda hacer que un bnotos (con macro asignada) pueda aparecer
o no aparecer segun sea el valor de una variable.

Sería algo asi :

if variable <>1 then INSTRUCCION QUE PONE EL BOTON
ENDIF


Gracias
JC

Preguntas similare

Leer las respuestas

#1 Servando
28/11/2008 - 18:22 | Informe spam
Hola Juan Carlos

Haz clic en la etiqueta de la hoja donde tienes el boton y selecciona "Ver
codigo"

Luego pega este codigo:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D3").Value= "Si" Then
Shapes("Nombre_del_Boton").Visible = msoTrue
Else
Shapes("Nombre_del_Boton").Visible = msoFalse
End If

End Sub

Cambia o ajusta el codigo a tus necesidades.

Por favor, retroalimentanos y dinos si esto te fue de utilidad.

Saludos
Servando Villalon


"Juan Carlos" wrote:

Buenas tardes querria saber si existe la forma de que mediante alguna
instruccion se pueda hacer que un bnotos (con macro asignada) pueda aparecer
o no aparecer segun sea el valor de una variable.

Sería algo asi :

if variable <>1 then INSTRUCCION QUE PONE EL BOTON
ENDIF


Gracias
JC

Respuesta Responder a este mensaje
#2 Servando
28/11/2008 - 18:30 | Informe spam
Una Correccion al codigo anterior.

Cambia el evento Worksheet_SelectionChange por Worksheet_Change

Que quede así:

Private Sub Worksheet_Change(ByVal Target As Range)


Saludos
Servando Villalon
Respuesta Responder a este mensaje
#3 Juan Carlos
28/11/2008 - 21:34 | Informe spam
Para evitar malos entendidos, el boton al que yo me refiero es el que se
coloca en una planilla para poder ejecutar una macro al hacer click en él.
En el menu de Formularios aparece como "Boton". Digo esto porque no me
funciona. Puede ser que nos estemos refiriendo a cosas distintas?
La [D3] esta vacia.
Hay un boton que se llama "Prueba"

El codigo que escribi es el siguiente.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D3").Value = "Si" Then
Shapes("Prueba").Visible = msoTrue
Else
Shapes("Prueba").Visible = msoFalse
End If
End Sub

Cuando ingreso "Si" en la casilla [D3] no desaparece el boton "Prueba".
Estoy haciebdo algo mal?

Gracias por adelantado
JC





"Servando" escribió:

Una Correccion al codigo anterior.

Cambia el evento Worksheet_SelectionChange por Worksheet_Change

Que quede así:

Private Sub Worksheet_Change(ByVal Target As Range)


Saludos
Servando Villalon


Respuesta Responder a este mensaje
#4 Héctor Miguel
29/11/2008 - 01:39 | Informe spam
hola, chicos !

el detalle es que aun cuando los botones de la barra de herramientas formulario "pasan" por la coleccion "Shapes"...
no todos los objetos "Shape" aceptan constandes de autoformas (como el msoTrue/False) :-((

prueba cambiando el codigo en el modulo de "esa" hoja +/- a lo siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$3" Then Me.Shapes("prueba").Visible = Target <> "Si"
End Sub

solo presta atencion al comparar textos en vba, que son "sensibles" a las (may/min)usculas, acentos, etc. etc. etc.

saludos,
hector.

__ OP __
Juan Carlos escribio en el mensaje ...
... el boton... En el menu de Formularios aparece como "Boton".
Digo esto porque no me funciona. Puede ser que nos estemos refiriendo a cosas distintas?
La [D3] esta vacia. Hay un boton que se llama "Prueba"
El codigo que escribi es el siguiente.
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D3").Value = "Si" Then
Shapes("Prueba").Visible = msoTrue
Else
Shapes("Prueba").Visible = msoFalse
End If
End Sub
Cuando ingreso "Si" en la casilla [D3] no desaparece el boton "Prueba".
Estoy haciebdo algo mal?
Respuesta Responder a este mensaje
#5 Servando
29/11/2008 - 21:51 | Informe spam
Otro detalle adicional, al que comenta HM es verificar que verdaderamente tu
boton se llame "Prueba".

¿Cuando seleccionas el boton en el angulo superior izquierdo, en el cuadro
de nombres aparece el nombre "Prueba"? o dice "Botón n".

El nombre real del boton, NO es el que le das cuando modificas el texto. si
quieres que tu botón se llame "Prueba", selecciona el boton (clic derecho y
que quede con el marco punteado), luego te vas al cuadro de nombres y
reemplazas el nombre que ahi aparece por el de "Prueba". Al hacer esto, no te
olvides de terminar con un Enter.


Saludos
Servando Villalon
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida