............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Problema con TextBox en Userform y control de Horas con If...elseIf

Ver el tema anterior Ver el tema siguiente Ir abajo

Problema con TextBox en Userform y control de Horas con If...elseIf

Mensaje por davidsagal el Miér Feb 18, 2015 4:56 pm

Hola amigos. En primer lugar daros la enhorabuena a todos porque he sido testigo de como ha pasado tanto tiempo y el foro ha ido a mejor con los años, como el buen vino. Por motivos personales no le he dedicado tiempo a esto de programar ni tan siquiera al Excel. En fín, espero que sigais enriqueciendo mi mente con vtros conocimientos y gracias. El caso es que en una Hoja Tengo un Userform con 3 TextBox. Cuando Userform_Activate el 1er TextBox " FECHA.Value = Format(Now(), "dd-mmm-yy"),
2º TextBox HORA2.Value = Format(Now(), "h:mm") y el 3er TextBox se llama TURNO, debería de mostrar "6:00h", or "14:00h" o "22:00h" en función de HORA2. Y aquí viene el problema:

If HORA2.value > "6:00" And HORA2.value <= "14:00" then

TURNO.value = "6:00h"
ELSE IF HORA2.value > "14:00" And HORA2.value <= "22:00" then
TURNO.value = "14:00h"
ELSE IF HORA2.value > "22:00" And HORA2.value <= "6:00" then

TURNO.value = "22:00h" '''Aquí está el problema, no me pone bien la hora, me sale las "6:00h".
Espero que se entienda lo que quiero decir.

davidsagal

Masculino Cantidad de envíos : 19
Edad : 40
Ciudad - Pais : ESPAÑA
Version de Excel : 2010
Fecha de inscripción : 05/01/2011

Volver arriba Ir abajo

Re: Problema con TextBox en Userform y control de Horas con If...elseIf

Mensaje por moises melgar el Miér Mar 04, 2015 1:17 pm

buenos dias
usa la funcion hour  para determinar el numero de hora que le corresponde
ejemplo:
Select Case Hour(Now()) <---determina el numero de hora actual al ejecutar el userform
Case 6 To 13 '<----- de 6:00 a 13:59
TURNO.Value = "6:00"
Case 14 To 21 '<----- de 14:00 a 21:59
TURNO.Value = "14:00"
Case 22 To 5 '<----- de 22:00 a 05:59
TURNO.Value = "22:00"
End Select

pero si quieres que elvalor de TURNO cambie alcambiar el valor de hora2 hay que meterla dentro de:

Private Sub HORA2_Change() <---sucede durante cambios a hora 2
End Sub

o usar

Private Sub HORA2_Exit(ByVal Cancel As MSForms.ReturnBoolean) <---sucede cuando hora 2 pierde el "foco"
End Sub

depende de lo que buscas
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 552
Edad : 29
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Problema con TextBox en Userform y control de Horas con If...elseIf

Mensaje por davidsagal el Sáb Mar 21, 2015 10:07 am

Me decidido por la opción deSelect Case cuando se activa el Userform. Funciona de categoría. Muchas gracias compañero.

davidsagal

Masculino Cantidad de envíos : 19
Edad : 40
Ciudad - Pais : ESPAÑA
Version de Excel : 2010
Fecha de inscripción : 05/01/2011

Volver arriba Ir abajo

Re: Problema con TextBox en Userform y control de Horas con If...elseIf

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.