Excel - Eliminar texto con timer

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Eliminar texto con timer

Publicado por Humberto (5 intervenciones) el 25/10/2018 22:45:18
hola, tengo esto para eliminar al segundo de haber ingresado texto, sin embargo lo borra justo al segundo de haber ingresado el primer carácter, lo que quiero es que sea después de haber ingresado el ultimo.

Ejemplo, ingreso una cadena de 50 caracteres, pero no me alcanza el tiempo porque al segundo se limpia

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub TextBox1_Change()
 
If BUSQUEDACLIENTES.TextBox1 <> "" Then
    TiempoPausa = 1
    Inicio = TIMER
 
    Do While TIMER < Inicio + TiempoPausa
        DoEvents
    Loop
        BUSQUEDACLIENTES.TextBox1 = ""
        BUSQUEDACLIENTES.TextBox1.SetFocus
End If
 
end sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Eliminar texto con timer

Publicado por Andres Leonardo (1585 intervenciones) el 26/10/2018 00:59:08
debes hacer cuasndo accedes al textbox poner al timer apagado
al salir del textbox o al alcanzar la longitud que desees poner el timer encendido y ahi te funcionara como queires
***disculpa por no poner el codigo estoy en un bus camino a casa a lo que llego lo reviso o lo haog para que lo veas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Eliminar texto con timer

Publicado por Antoni Masana (2562 intervenciones) el 26/10/2018 06:42:59
Como bien dice Andres Leonardo debes ponerlo al salir del TextBox.

1
2
3
4
5
6
7
8
9
10
11
Private Sub TextBox1_Exit()
    Dim Inicio as Single
    If BUSQUEDACLIENTES.TextBox1 <> "" Then
        Inicio = TIMER + 1
        Do While TIMER < Inicio
            DoEvents
        Loop
        BUSQUEDACLIENTES.TextBox1 = ""
        BUSQUEDACLIENTES.TextBox1.SetFocus
   End If
end sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Eliminar texto con timer

Publicado por Humberto (5 intervenciones) el 26/10/2018 06:59:49
Gracias, mañana lo probaré

Sin embargo, lo que quiero es asi:

Ingreso 1 y a los 5 segundos se elimine
Sí ingreso un 1 y a los 3 segundos, ingreso un 2 (ahora el textbox1 contiene 12) reinicie el contador cuando tecle el último digito, y asi sucesivamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Eliminar texto con timer

Publicado por Antoni Masana (2562 intervenciones) el 26/10/2018 10:38:23
No entiendo que es lo que estas contando.


Te cuento un par de cosas y si no te funciona envía tu libro para ver donde falla.

El el evento TextBox1_Change pon este código

1
2
3
Application.OnTime Now + TimeValue("00:00:10"), _
                Procedure:="Borrar_Campo", _
                Schedule:=True

Y en un módulo este otro.

1
2
3
Sub Borrar_Campo()
    UserForm1.TextBox1 = ""
End Sub

Como funciona esto:

Cada vez que escribes un carácter se ejecuta el evento Change, aquí debes decidir cada cuando debes refrescar el cronometro para ejecutar el borrado del campo.

Application.OnTime es el cronometro propiamente dicho.

El parametro Now + TimeValue("00:00:10") es el tiempo que espera para ejecutar el procedimiento, la traducción seria "cuenta 10 segundos a partir de este momento."

El parámetro Procedure:="Borrar_Campo" es el procedimiento a ejecutar.

No se si me dejo algo por contar pero funcionar funciona seguro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Eliminar texto con timer

Publicado por Humberto (5 intervenciones) el 26/10/2018 18:04:21
Funciona

Sí ingreso 1 inicia el cronometro, a los 7 segundos ingreso 2, a los 10 segundos de haber ingresado el 1 se limpia, y si ingrese algo de nuevo a los 10 segundos posteriores de ingresar el 2 se borra lo nuevo.

Parece que se queda guardada el ejecutar, no reiniciar en cronometro; es la primera vez que trabajo con algo asi, perdón.

Pero al menos esta opciones es MUCHO mejor a la que tenia antes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar