macro y cuadro de texto

31/03/2009 - 14:15 por VIC | Informe spam
He insertado en una hoja un cuadro de texto para aclarar algunas dudas sobre
los datos. Querría (si se puede) hacer una macro para que me mostrara dicho
cuadro de texto o me lo ocultara. ¿Es posible aplicar macros a las formas
insertadas? Si no puede ser, ¿cómo podría hacerlo?.
Saludos.

Preguntas similare

Leer las respuestas

#1 Juan Español
01/04/2009 - 01:11 | Informe spam
Casi seguro que el código expuesto es válido para 2007 también.
Pero bueno, si te apetece mejor como tu quieres, teniendo es cuenta que
tendrás que dejar el TextBox enabled
(es decir se podrá editar siempre, aún con la hoja protegida) para poder
picar en él.

Empecemos por el principio, es decir el final de tu repregunta.

Y otra cuestión si no te importa :) Cómo identifico el cuadro de
texto.



Estando en el modo de diseño (primer botón de la Barra de Herramientas
llamada Cuadro de Controles)
con el botón derecho del ratón pica sobre el cuadro de texto que pretendas
ocultar/visualizar
En la barra de fórmulas, a la izquierda, te pone el nombre de cuadro de
texto.

Ya tenemos el nombre del cuadro de texto.
(Por defecto excel pone nombre a los cuadros de texto del tipo TextBox1,
TextBox2)

Si a lo que tu llamas icono es un botón de comando, entonces pon estos
códigos en la hoja que sea

Private Sub NOMBREDETUBOTON_Click()
ActiveSheet.NOMBREDETUCUADRODETEXTO.Visible = True
End Sub

Private Sub NOMBREDETUCUADRODETEXTO_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
ActiveSheet.NOMBREDETUCUADRODETEXTO.Visible = False
End Sub

El TextBox se "cerrará" con doble click.

Saludos.-

"VIC" escribió en el mensaje de noticias
news:
Hola Juan, agradezco enormemente tu ayuda pero no me funciona. Utilizo
excel 2007 y las teclas de función no obedecen a la macro y ejecutan las
funciones que tienen establecidas. Yo había pensado aplicar la macro de
la siguiente forma.
Tengo un icono en la celda A1 en forma de interrogante. Cuando lo
selecciono que aparezca el cuadro de texto y una vez aparezca el cuadro
texto, cuando haga click con el ratón en él pues que desaparezca.
Y otra cuestión si no te importa :) Cómo identifico el cuadro de
texto. Dónde pongo su nombre. ???
Muchas gracias de nuevo.
**************************


"Juan Español" escribió en el mensaje de
noticias:#
Hola VIC:
Si en un módulo del libro pones esta macro


Sub Macro10()
If [IV1] = "" Then
ActiveSheet.TextBox1.Visible = True
' puedes poner los cuadros de texto que te interesen
[IV1] = 1
Else
ActiveSheet.TextBox1.Visible = False
' puedes poner los cuadros de texto que te interesen
[IV1] = ""
End If
End Sub


Y en la hoja donde tengas el cuadro de texto pones esto


Private Sub Worksheet_Activate()
Application.OnKey "{F10}", "Macro10"
End Sub

Private Sub Worksheet_Deactivate()
Application.OnKey "{F10}"
End Sub

Al pulsar F10 se verán/ocultarán alternatitivamente los cuad. de texto.

Saludos.-


"VIC" escribió en el mensaje de noticias
news:
He insertado en una hoja un cuadro de texto para aclarar algunas dudas
sobre los datos. Querría (si se puede) hacer una macro para que me
mostrara dicho cuadro de texto o me lo ocultara. ¿Es posible aplicar
macros a las formas insertadas? Si no puede ser, ¿cómo podría
hacerlo?.
Saludos.



Respuesta Responder a este mensaje
#2 VIC
01/04/2009 - 12:32 | Informe spam
Hola de nuevo Juan. No se dónde puede cometer el fallo porque intento
poner como me dices el código y me aparece el mensaje: "Se ha producido el
error 438 en tiempo de ejecución. El objeto no admite esta propiedad o
método" y si le digo depurar me aparece en amarillo la frase:
ActiveSheet.NOMBREDETUCUADRODETEXTO.Visible = True

En el caso de la tecla de función, cuando pulsaba f10, me aparecían en la
barra superior una serie de letras y números que hacen de atajos directos a
los diferentes menús de excel.
Bueno, disculpa la pesadez, te agradecería me dijeras algo.
Saludos,

Victor





"Juan Español" escribió en el mensaje de
noticias:
Casi seguro que el código expuesto es válido para 2007 también.
Pero bueno, si te apetece mejor como tu quieres, teniendo es cuenta que
tendrás que dejar el TextBox enabled
(es decir se podrá editar siempre, aún con la hoja protegida) para poder
picar en él.

Empecemos por el principio, es decir el final de tu repregunta.

Y otra cuestión si no te importa :) Cómo identifico el cuadro de
texto.



Estando en el modo de diseño (primer botón de la Barra de Herramientas
llamada Cuadro de Controles)
con el botón derecho del ratón pica sobre el cuadro de texto que pretendas
ocultar/visualizar
En la barra de fórmulas, a la izquierda, te pone el nombre de cuadro de
texto.

Ya tenemos el nombre del cuadro de texto.
(Por defecto excel pone nombre a los cuadros de texto del tipo TextBox1,
TextBox2)

Si a lo que tu llamas icono es un botón de comando, entonces pon estos
códigos en la hoja que sea

Private Sub NOMBREDETUBOTON_Click()
ActiveSheet.NOMBREDETUCUADRODETEXTO.Visible = True
End Sub

Private Sub NOMBREDETUCUADRODETEXTO_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
ActiveSheet.NOMBREDETUCUADRODETEXTO.Visible = False
End Sub

El TextBox se "cerrará" con doble click.

Saludos.-

"VIC" escribió en el mensaje de noticias
news:
Hola Juan, agradezco enormemente tu ayuda pero no me funciona. Utilizo
excel 2007 y las teclas de función no obedecen a la macro y ejecutan las
funciones que tienen establecidas. Yo había pensado aplicar la macro de
la siguiente forma.
Tengo un icono en la celda A1 en forma de interrogante. Cuando lo
selecciono que aparezca el cuadro de texto y una vez aparezca el cuadro
texto, cuando haga click con el ratón en él pues que desaparezca.
Y otra cuestión si no te importa :) Cómo identifico el cuadro de
texto. Dónde pongo su nombre. ???
Muchas gracias de nuevo.
**************************


"Juan Español" escribió en el mensaje de
noticias:#
Hola VIC:
Si en un módulo del libro pones esta macro


Sub Macro10()
If [IV1] = "" Then
ActiveSheet.TextBox1.Visible = True
' puedes poner los cuadros de texto que te interesen
[IV1] = 1
Else
ActiveSheet.TextBox1.Visible = False
' puedes poner los cuadros de texto que te interesen
[IV1] = ""
End If
End Sub


Y en la hoja donde tengas el cuadro de texto pones esto


Private Sub Worksheet_Activate()
Application.OnKey "{F10}", "Macro10"
End Sub

Private Sub Worksheet_Deactivate()
Application.OnKey "{F10}"
End Sub

Al pulsar F10 se verán/ocultarán alternatitivamente los cuad. de texto.

Saludos.-


"VIC" escribió en el mensaje de noticias
news:
He insertado en una hoja un cuadro de texto para aclarar algunas dudas
sobre los datos. Querría (si se puede) hacer una macro para que me
mostrara dicho cuadro de texto o me lo ocultara. ¿Es posible aplicar
macros a las formas insertadas? Si no puede ser, ¿cómo podría
hacerlo?.
Saludos.








Respuesta Responder a este mensaje
#3 Juan Español
01/04/2009 - 13:08 | Informe spam
VIC, te aseguro que vamos a conseguir que funcione, pero antes contestame a
esto:

1º) ¿Cómo se llama tu cuadro de texto?

2º)¿Quieres visualizar ocultar más cuadros de texto de la misma hoja al
mismo tiempo?

3º) ¿Cómo se llama tu botón de comando?

4º) La aplicación, es decir el fichero ¿es de uso para ti, o lo van a
utilizar más gente?, lo digo por si vas a proteger la hoja y no quieres que
por error/mala idea puedan modificar tu cuadro de texto.
Respuesta Responder a este mensaje
#4 VIC
01/04/2009 - 14:59 | Informe spam
jeje...Hola Juan, qué majete eres joé!
Bueno, pues a ver si lo consigo. Te cuento:
1º) Hay dos cuadros de texto que los he llamado: cuadro1 y cuadro2
2º) Como dije, en la casilla A1 tengo insertada una imagen de una "?" para
que cuando la pulso se abra la macro que visualiza los dos cuadros. (Creo
que es mejor que usar el botón de comando); si crees tú que es mejor el
botón de comando pues utilizo el botón.
3º) Al botón de comando que utilicé para probar tu código le llamé
"botón"... jeje no discurrí mucho, sorry. ;)
4º) El fichero los vamos a usar dos chicos más y la hoja va a estar
protegida.
Hasta prontito nen!!
:D

"Juan Español" escribió en el mensaje de
noticias:
VIC, te aseguro que vamos a conseguir que funcione, pero antes contestame
a esto:

1º) ¿Cómo se llama tu cuadro de texto?

2º)¿Quieres visualizar ocultar más cuadros de texto de la misma hoja al
mismo tiempo?

3º) ¿Cómo se llama tu botón de comando?

4º) La aplicación, es decir el fichero ¿es de uso para ti, o lo van a
utilizar más gente?, lo digo por si vas a proteger la hoja y no quieres
que por error/mala idea puedan modificar tu cuadro de texto.


Respuesta Responder a este mensaje
#5 Juan Español
01/04/2009 - 15:27 | Informe spam
Perfecto...
Te propongo utilizar un botón de comando y además creo que te gustará la
idea:
Premisa:
- Queremos que dos cuadros (a la vez) de textos llamados cuadro1 y cuadro2
se oculten/visualicen al pulsar un botón de comando llamado boton.

En el botón de comando pon este código:

Private Sub boton_Click()
If ActiveSheet.cuadro1.Visible = True Then
ActiveSheet.cuadro1.Visible = False
ActiveSheet.cuadro2.Visible = False
ActiveSheet.boton.Caption = "Muestra Ayuda"
Else
ActiveSheet.cuadro1.Visible = True
ActiveSheet.cuadro2.Visible = True
ActiveSheet.boton.Caption = "Quita Ayuda"
End If
End Sub

Para que se cumpla lo que dije:
VIC, te aseguro que vamos




Ese "vamos" es por que tú puedes cambiar "Muestra Ayuda" y "Quita Ayuda" por
lo que quieras.

Al estilo Obama... "PODEMOS"...
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida