Insertar formato celda con TextBox

Desde Private Sub Insertar_click() y Private Sub Editar_Click() el TextBox7 ademas de la función que ejecuta, también inserte conjuntamente esta formula

NumberFormat = """Bs.F"" * #,##0.00;""Bs.F"" * -#,##0.00"

1 respuesta

Respuesta
1

Ya te he enviado el libro.

Unas pequeñas aclaraciones:

El formato ya lo tenias introducido en el formato de las celdas, pero no se aplicaba porque el valor que devuelve el textbox es alfanumérico (texto), asi que lo único que hay que hacer es convertir el texto que hay en el textbox a numero decimal (para mantener los decimales, claro) y entonces sí se aplica el formato especificado para las celdas.

Hay que tener cuidado en no introducir letras en el textbox o el código dará error al intentar cambiar el contenido a numero decimal.

Si claro

Ahora veo también que después que te envíe mensaje de que lo había resuelto, resulta que todos los datos editados, en la columna H desde el textBox7 me presenta un resultado #¡VALOR!resultado que no deseo en la columna L columna que nada tiene que ver con la I y si con las J, K que en nada se tocan para nada

Claro, dan error las formulas que utilices para los cálculos, pues al pasar los valores de los textbox a las celdas se introducen como texto, y las formulas dan error. Para todas las celdas que deban contener números utiliza la instrucción que te he pasado para el textbox7 cdec() para conservar los decimales o clng() para las que no deban tener decimales

Las celdas (columna) donde me deja de presentar resultado para darme #!¡ALOR! en nada tiene que ver con el valor introducido por el texbox en la columna H porque las formulas hacen referencia a la celdas de columna J y K

si utilizo la instrucción cdec() e ves de darme el resultado 114,63 me dá 11.463,00

No, sigue siendo incorrecto, te sale tal como lo has
escrito por lo que te decía antes, es porque te lo pasa en texto, y tu lo debes
cambiar a numero para que te aplique el formato de celda y para que no te vayan
a dar error cuando utilices fórmulas o cálculos matemáticos con esas
celdas.

Prueba con cdbl()

Aunque el problema supongo que será el separador de miles y de decimales que tienes configurado en tu sistema, por defecto excel usa el separador de miles y de decimales configurado en tu ordenador, en el panel de control, configurador regional y de idioma.

Puedes leerte esta pagina que te paso a continuación, pero prueba primero con cdbl() haber si es eso.

http://office.microsoft.com/es-hn/excel-help/cambiar-el-carácter-que-se-usa-como-separador-de-miles-o-de-decimales-HP001230245.aspx

El Office (excel en este caso) esta configurado para la región cosa que lo hace automáticamente al instalar, yo nada configuro.

Pues si lo hiciera, para otros fines tendría que hacer lo mismo a cada ratito,
La configuración de miles acá es el punto y de decimales la coma
Así yo escriba 1456.25 ma dá 1.456,25 automáticamente
Hice lo que me dijiste, tal como lo indicas y sin resultado positivo
No se si echaste un vistazo al evento Private Sub TextVenta_Change() el formato esta con el separador de miles la coma y decimales el punto, al insertar me dá el resultado correcto de separador de miles el punto y dfecimales la coma.

Eso es, como te decía, porque te lo inserta como texto.

Utiliza ccur() que lo cambia a moneda

Lo he expuesto en la hoja En curso del libro que acabo de enviarte.

Cuanto a introducir y que se vea en la celda BsF. 6.532,25 ya lo resolví pero

queda el detalle en la columna L principalmente cuando se edita un producto cualquier

APARENTEMENTE al insertar, no lo hace

Con la instrucción ccur() me refería a que asi se repara el problema del .
Y la, como separador de miles y decimales. El error Valor te esta indicando que
tienes un problema en la formula, que devuelve un error, eso ocurre porque la
celda que corresponde a salidas tiene un valor empty o vacío, como intenta hacer
un calculo matemático con esa celda, el resultado de la formula es error.
Prueba a poner un valor en salidas y veras como no sale Valor. Para reparar
esto, o bien modificas tu formula para que no se ejecute si alguna de las celdas
entrada o salida están vacías, o bien le
asignas un valor 0 al textbox cuando este no tenga ningún valor. También
debes utilizar la instrucción clng() al pasar el valor del textbox de entrada y
salida a las celdas, para q lo inserte como numero y no como texto.

Ok amigo, perfecto, todo sale correcto.

El TextBox6 y el 7 tienen un evento GotFocus y LostFocus para que aparezca un mensaje de información de como tiene que ingresar los datos en dichos TextBox.

Todo perfecto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas