Cuadro de texto

En cuadro de texto (barra de controles), le asigno a una celda (a1), ingreso un valor con teclado numérico y en vez de "," toma como "." (texto) y necesito que tome como número y no texto .-
Con la función =valor(a1) no funciona.-
Me gustaría saber si hay otra función que me permita pasar a número.-
1

1 respuesta

1
Respuesta de
A ver si entendí
Muestras la barra de controles desde menu Ver | Barra de herramientas | Cuadro de controles
Agregas un control TextBox (cuadro de texto) DENTRO de una hoja de Excel
Muestras su propiedades y en la propiedad LinkedCell le estableces el valor A1 con lo que logras que lo que escribas en el cuadro de texto se muestre en la celda A1, ¿vamos bien?
Cuando escribes algo en el cuadro de texto, este valor pasa automático a la celda A1, pero considera que CUALQUIER cosa que escribas en un cuadro de texto es TEXTO, por lo tanto, así es como pasa a la celda...
Primero, aunque le des formato de numero al volver a escribir estará como texto, pero si tratas de hacer operaciones que este numero lo reconocerá automáticamente como numero por lo tanto no con solo alinear a la derecha se vera como numero aunque sin la posibilidad de darle formato
No mencionas si al vincular la celda con el cuadro de texto, en donde escribes es en el cuadro de texto o en la celda, ya vimos el primer caso, veamos el segundo caso...
Cuando escribes en la celda, el contenido de esta "deberia" de pasar tal cual al cuadro de texto, no se por que al escribir un numero con decimales como 45.12 en la celda te muestra 45,12 esto independientemente de lo que este configurado en el panel de control como separador de decimales y de miles, aunque también te comento que esto lo hace algunas veces si y algunas veces no, la única solución que encontré por el momento, es dejar de usar la propiedad LinkedCell del cuadro de texto y usar el evento Change de la hoja para pasar el dato de la celda al cuadro de texto como te muestro con las siguiente lineas...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Target.Address(False, False) = "A1" Then
TextBox2.Text = Val(Target.Value)
End If
End If
End Sub
De esta forma TOMAMOS el control completo de lo que pasamos entre la celda y el cuadro de texto, espero te sirva, saludos...
Mauricio Baeza
mbs@inbox.net
Todo lo que no es dado es perdido
*==========================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó. Gracias...
*=====================================
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: