cambia separador decimal

16/07/2005 - 17:19 por hector barajas | Informe spam
Tengo una macro que al cargar un userforms lee informacion de una base de
datos mdb y la carga en un cuadro de lista. Al cargar un numero, que en la
base de datos viene 73.25, en el cuadro de lista (textbox) me aparece 73,25.
Ya cheque la configuracion regional y el separador de decimales es el punto,
por lo cual se me hace raro este problema.

Alguien tiene alguna sujerencia para resolverlo

Gracias de antemano

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
16/07/2005 - 19:50 | Informe spam
hola, 'tocayo' !

... al cargar un userforms lee informacion de una base de datos mdb y la carga en un cuadro de lista
... cargar un numero, que en la base de datos viene 73.25, en el cuadro de lista (textbox) me aparece 73,25.
... la configuracion regional y el separador de decimales es el punto, por lo cual se me hace raro este problema.



espero que lo siguiente te sea de utilidad ;)
saludos,
hector.

1.- es un comportamiento 'normal' [???] del textbox [cuando esta 'ligado/vinculado' a una celda]
2.- un textbox [ligado/vinculado] NO 'acepta' el punto como un caracter 'valido' para sus propiedades .Value/.Text
aun si lo introduces [en esos campos] en la ventana de propiedades [en 'tiempo de diseño']
[dicho sea 'de paso'] tambien 'le desaparece' el formato a la celda y 'le aplica' uno 'numerico' con 0 decimales :(
3.- [al parecer] es un 'bug-no-atendido', que se presenta [solo] en las versiones 'non-us-centric' de excel
a pesar de que [del uso 'entendido' de] un textbox 'toma' [preferentemente] TEXTOS y 'debiera' aceptar 'cualquier' caracter
[en casos de valores ligados a celdas] pareciera 'asumir' que toda version 'non-us-centric' usa la coma en las decimales :\
[hasta donde se] -> viene presentandose desde la version '97 hasta la version 2003 <-
4.- haciendo algunas pruebas ... lo siguiente 'funciona de maravilla'...
-> QUITA el vinculo de/a la celda para que no 'tome de ahi' algun valor [separando las decimales por comas] y...
en el modulo de codigo del formulario ==Private Sub TextBox1_Change()
Range("a1") = Val(Me.TextBox1)
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Range("a1").NumberFormat = "0.0000"
End Sub
-> solo 'toma en cuenta' que la funcion Val() [vba] SOLO 'acepta' EL PUNTO como 'separador de decimales' <-
Respuesta Responder a este mensaje
#2 hector barajas
17/07/2005 - 18:49 | Informe spam
Gracias por tu ayuda, creo que me va a servir, aunque quiero aclararte que
hubo una confusión causada por mi, ya que hice mencion a un textbox, sin
embargo el caso es de que el control que yo estoy usando es un listbox, el
cual contiene una lista de articulos, incluyendo el precio de venta. Se
supone que al mostrarme los datos me presenta los numeros con la coma como
separador decimal. Al seleccionarlo lo que hago es pegarlo en excel y me
pega el dato como texto, ya que al tener la coma excel interpreta que no se
trata de un valor numerico, sino de un valor de texto.

Sin embargo creo que la mayor parte de tu respuesta me ha sido muy util por
que con tu respuesta pude quitar la coma y usar el punto en su lugar.

Gracias por tu valiosa ayuda



"Héctor Miguel" escribió en el mensaje
news:
hola, 'tocayo' !

> ... al cargar un userforms lee informacion de una base de datos mdb y la


carga en un cuadro de lista
> ... cargar un numero, que en la base de datos viene 73.25, en el cuadro


de lista (textbox) me aparece 73,25.
> ... la configuracion regional y el separador de decimales es el punto,


por lo cual se me hace raro este problema.

espero que lo siguiente te sea de utilidad ;)
saludos,
hector.

1.- es un comportamiento 'normal' [???] del textbox [cuando esta


'ligado/vinculado' a una celda]
2.- un textbox [ligado/vinculado] NO 'acepta' el punto como un caracter


'valido' para sus propiedades .Value/.Text
aun si lo introduces [en esos campos] en la ventana de propiedades


[en 'tiempo de diseño']
[dicho sea 'de paso'] tambien 'le desaparece' el formato a la celda y


'le aplica' uno 'numerico' con 0 decimales :(
3.- [al parecer] es un 'bug-no-atendido', que se presenta [solo] en las


versiones 'non-us-centric' de excel
a pesar de que [del uso 'entendido' de] un textbox 'toma'


[preferentemente] TEXTOS y 'debiera' aceptar 'cualquier' caracter
[en casos de valores ligados a celdas] pareciera 'asumir' que toda


version 'non-us-centric' usa la coma en las decimales :\
[hasta donde se] -> viene presentandose desde la version '97 hasta la


version 2003 <-
4.- haciendo algunas pruebas ... lo siguiente 'funciona de maravilla'...
-> QUITA el vinculo de/a la celda para que no 'tome de ahi' algun


valor [separando las decimales por comas] y...
en el modulo de codigo del formulario ==> Private Sub TextBox1_Change()
Range("a1") = Val(Me.TextBox1)
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Range("a1").NumberFormat = "0.0000"
End Sub
-> solo 'toma en cuenta' que la funcion Val() [vba] SOLO 'acepta' EL PUNTO


como 'separador de decimales' <-


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida