Textbox con números

Hola experto quisiera hacerte una pregunta espero me lo puedas solucionar como ya lo has hecho otras veces mi duda es la siguiente en un formulario tengo un textbox al cual le asigno un numero que corresponde a unas horas trabajadas cuando le pongo 1 no tengo problema si cuando le pongo 1.5 que corresponde a una hora y media me sale lel numero 2 no se si tengo que tener el mismo formato en el textbox que la celda
Gracias de antemano
1

1 respuesta

Respuesta
1
¿Dónde te sale el 2, en el TextBox o en la celda?. Si es en la celda podría ser que necesitas ponerle el formato de número. Si es en TextBox, revisa que no tengas algún código de redondeo.
[email protected]
Gracias por contestar el 2 me sale en la celda de destino es como si lo redondeara si de 1.5 a 2 o 2.5 a 3 si lo pongo en formato numero me sigue igual
Utiliza: TextBox2.Value = Format(Range("Tu_Celda"),"##.##")
[email protected]
Hola experto parece que soy más novato de lo creía. La linea que me has dado donde pone" tu celda " no se que poner por que la celda de destino no siempre es la misma porque la escoge de una condicional es decir si el dato de una combobox es "tal" y la fecha que me la coge de un dtpicker "cual" me la pone en la celda que corresponda de todas maneras yo he puesto en la celda el formato que me das y no cambia sigue igual creo que es más complicado de lo yo creía. Gracias
Lógicamente tienes que poner la celda destino. Cualquier cosa pon el código porque así es dar golpes de ciego, y aunque ellos ven con la mente y los sentidos, por medio de Internet se me hace difícil ponerlos en práctica.
[email protected]
Experto este es mi código
Sub dia1()
Dim VALOR2 As String
Dim horas As Integer
Dim fecha As Date
VALOR2 = ComboBox13.Value
horas = TextBox18.Value
fecha = DTPicker4.Value
Application.ScreenUpdating = False
Sheets("HORAS DIA").Select
Range("A4").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = VALOR2 Then
ActiveCell.Offset(0, 2) = fecha
ActiveCell.Offset(0, 3) = "=DAY(RC[-1])"
If ActiveCell.Offset(0, 3).Value = "1" Then
ActiveCell.Offset(0, 4) = horas
End If
If ActiveCell.Offset(0, 3).Value = "2" Then
ActiveCell.Offset(0, 5) = horas
End If
If ActiveCell.Offset(0, 3).Value = "3" Then
ActiveCell.Offset(0, 6) = horas
End If
If ActiveCell.Offset(0, 3).Value = "3" Then
ActiveCell.Offset(0, 6) = horas
End If
Es más largo por que los valores llegan hasta "31" que son los días de mes. Gracias
Experto creo que lo he solucionado de casualidad he modificado en el código
dim horas as integre por dim horas as string y ahora me funciona "de lujo" de todas maneras para seguir aprendiendo me podria decir porque si funciona ahora .Muchas gracias por tu tiempo y espero me puedas ayudar en el  futuro . gracias por todo
Te funciona porque una cosa es hacer cálculos numéricos normales y otra es con horas.
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas