Sobre formatos de visualización en un textbox

12/04/2005 - 12:26 por BADDOG | Informe spam
Buenas tardes:

Tengo un problema con la visualización de un formato de horas en VBA de
excel 2000. Mi problema reside en que un formulario tiene un Textbox
relacionado con por ejemplo la celda b5 de la hoja 2. Este formulario se abre
al apretar un boton en la hoja1. En el momento de iniciarse el textbox me
tiene que dar el valor de esta celda que es de formato HORAS 00:00:00
(HH:MM:SS), pero por más que lo he intentado lo único que me muestra es un
número con decimales.
Al aplicar el evento de Change a este textbox he conseguido que me lo
visualice bien, pero al cambiar otro textbox, éste vuelve al formato erróneo.
No se como hacer que en todo momento sea un formato de horas.
¿Alguien me puede ayudar?
Gracias por anticipado
 

Leer las respuestas

#1 Fernando Arroyo
12/04/2005 - 17:48 | Informe spam
Para que en el cuadro de texto aparezca la hora con el mismo formato que tenga en la celda, tendrás que poner el siguiente código en el módulo del formulario:

Private Sub UserForm_Initialize()
Me.TextBox1 = [Hoja2!B5].Text
End Sub

Si en la propiedad ControlSource del control tienes la celda, tendrás que borrarla.

Si tu idea es editar el cuadro de texto para volcar la hora a la celda, tendrás que usar algo parecido a:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim dtHora As Date
On Error Resume Next
dtHora = TimeValue(Me.TextBox1)
On Error GoTo 0
If dtHora = 0 Then
MsgBox "La hora introducida en el cuadro de texto no es correcta." & vbNewLine & "Por favor, inténtelo de nuevo."
Cancel = True
Else
[Hoja2!B5] = dtHora
End If
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel


"BADDOG" escribió en el mensaje news:
Buenas tardes:

Tengo un problema con la visualización de un formato de horas en VBA de
excel 2000. Mi problema reside en que un formulario tiene un Textbox
relacionado con por ejemplo la celda b5 de la hoja 2. Este formulario se abre
al apretar un boton en la hoja1. En el momento de iniciarse el textbox me
tiene que dar el valor de esta celda que es de formato HORAS 00:00:00
(HH:MM:SS), pero por más que lo he intentado lo único que me muestra es un
número con decimales.
Al aplicar el evento de Change a este textbox he conseguido que me lo
visualice bien, pero al cambiar otro textbox, éste vuelve al formato erróneo.
No se como hacer que en todo momento sea un formato de horas.
¿Alguien me puede ayudar?
Gracias por anticipado

Preguntas similares