Foros del Web » Soporte técnico » Ofimática »

Bloquear Cuadro de texto

Estas en el tema de Bloquear Cuadro de texto en el foro de Ofimática en Foros del Web. Hola colegas, tengo una duda respecto a los "cuadros de texto" del menu cuadro de controles de visual basic (en excel). Lo estoy utilizando sin ...
  #1 (permalink)  
Antiguo 23/04/2006, 18:38
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Bloquear Cuadro de texto

Hola colegas, tengo una duda respecto a los "cuadros de texto" del menu cuadro de controles de visual basic (en excel). Lo estoy utilizando sin color de fondo ni de marcos, cosa que si no hay nada escrito, no se vea.


Luego utilizo la funcion "Si" pasa algo, que por ejemplo, la celda A1, muestre "ok", y tengo asignado este cuadro de texto asingado a esta ceda ( dificil de explicar pero es muy simple, cuando ocurre determado evento en excel, aprarece en el cuadro de texto por ejemplo, "sin stock de articulos"....

Ahora bien, quiero que mientras no aparezca este evento, que ese cuadro de texto no se vea. En si como no tiene fondo ni bordes no se ve, pero al usar la planilla, si alguien por error clickea donde esta este recuadro, este se ponde con fondo blanco y el cursor se queda intermitente en el recuadro... y no quiero que pase.

Probe bloqueando la pagina, viendo las opciones del cuadro de texto pero nada, sigue siempre jodiendo ( ). Se puede bloquear???
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #2 (permalink)  
Antiguo 24/04/2006, 07:29
Avatar de judoka  
Fecha de Ingreso: enero-2004
Ubicación: viña del mar
Mensajes: 180
Antigüedad: 20 años, 3 meses
Puntos: 3
probaste poniendo el cuadro visible = false para cuando el evento no cumple las condiciones?
por ejemplo algo así

Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1).Value < 10 Then
TextBox1.Visible = True
Else
TextBox1.Visible = False
End If
End Sub
__________________
hay tres tipos de matemáticos, los que saben contar y los que no.
Oscar
  #3 (permalink)  
Antiguo 24/04/2006, 07:57
 
Fecha de Ingreso: noviembre-2005
Mensajes: 170
Antigüedad: 18 años, 5 meses
Puntos: 1
No creo que sea el mejor método y creo recordar que había otra forma, pero no me acuerdo cómo hacerla y no he conseguido encontrarla.

Con este código te valdrá, creo, para lo que quieres conseguir.
Private Sub TextBox1_GotFocus()
Range("A1").Activate
End Sub
Adapta a la celda que te venga mejor a ti.

Escribe esto en el código del textbox y verás como te funciona. Tiene el inconveniente de que para quitar el blanco tendrás que mover el cursor fuera del recinto de la ventana, pero si la ventana la adaptas al menor tamaño posible no habrá muchos problemas.

Siento no poder darte una solución mucho mejor, pero seguiré buscando porque a mí también me interesa conseguirlo. Yo de momento lo tengo así.

Un saludo
__________________
El sabio no dice nunca todo lo que piensa,
pero siempre piensa todo lo que dice.
Aristóteles :pensando:
  #4 (permalink)  
Antiguo 24/04/2006, 12:54
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Gracias judoka y potypoty, estube probando los codigo y se va acercando a lo que busco. En esta ultima prueba encontre 2 cosas:

1 Cuando haces foco sobre el cuadro de texto, se puede cambiar de color ese fondo (yo tengo la hoja de calculo en negro, y antes me aparecia el fondo blanco. Ahora que lo cambie a negro "backColor", al menos se disimula un poco mas :P)

2 Encontre una manera de bloquear este cuadro de texto, que es dejando activo el modo diseño, y protegiendo la hoja de calculo sin ningun tilde activo. (El problema aca es que no se puede ingresar nada en la hoja) se podra asignar este bloqueo solo al texto? se lo dejo a ustedes que son los entendidos
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #5 (permalink)  
Antiguo 25/04/2006, 00:21
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
y si es al revez? digamos que con las funciones de excel se puede de alguna manera bloquear los "campos de texto", se puede con VS que una celda donde completo datos ignore este bloqueo? quiza asi sea mas facil...
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #6 (permalink)  
Antiguo 25/04/2006, 00:39
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Con un tilde en la proteccion de la hoja en "Seleccionar las Celdas desbloqueadas" y tildando en el "Modo Diseño" ya esta ;)
Esto es mas un rebusque que un atajo, por lo menos hasta que aparezca lo definitivo. Si alguien conoce un codigo que active esta funcion cuando abro excel, ya seria una opcion viable. Saludos y sigamos en la busqueda!
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #7 (permalink)  
Antiguo 28/04/2006, 00:40
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Hola, les hago una consulta, probe el codigo de judoka y me sale un mensaje que dice " se ha prodocido un error 424", se requiere un objeto. o se requiere un objeto de la biblioteca, que es?
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #8 (permalink)  
Antiguo 28/04/2006, 00:41
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
el codigo es el mismo, lo puse en worksheet, y lo uso para una casilla de verificasion:
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1).Value < 10 Then
CheckBox1.Visible = True
Else
CheckBox1.Visible = False
End If
End Sub

pero no anda!
__________________
-- Nunca te des por vencido, aún vencido -- Web
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:20.