Sobreescribir un TextBox que contiene Formula

4 envíos / 0 nuevos
Último envío
Adrian
Imagen de Adrian
Offline
última acción: Hace 7 años 1 mes
alta: 16/02/2017 - 17:04
Puntos: 35
Sobreescribir un TextBox que contiene Formula
Buenas tardes a todos,

Llevo días tratando de encontrar una solución a un problema con mi Userform.  Seguro que hay una forma sencilla de solucionarlo pero estoy “desesperado”.

En un Formulario donde meto facturas hay:

TextBox1: Base, donde tecleo una cifra, por ejemplo 127

ComboBox1: %IVA, donde selecciono por ejemplo 21%

TextBox2: Cuota, donde mediante formulas aparece el 21% de 127, es decir, 26,67

TextBox3: Total, donde mediante formulas aparece la suma, es decir, 153,67

¿Como se puede hacer para que a medida que voy indroduciendo los datos en el UserForm, pueda sobreescribir o machacar la cifra que la formula me calcula en el TextBox2 o TextBox3?

Es decir, para que coincida con el importe exacto de la factura en papel, poder machacar ese 26,67 por un 26,68 por ejemplo, o ese 153,67 por un 153,68…

Esto es muy común en programas comerciales de contabilidad etc… pero no veo la forma de como hacerlo con VBA.

Muchisimas gracias

Etiquetas: 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Eso lo tendrías que hacer en

Eso lo tendrías que hacer en los eventos KeyDown, KeyPress o KeyUp, dependiendo de cómo lo quieras implementar.

Si lo haces en el evento Change, este no se lanzará hasta que no termines de escribir y pulses enter o cambies el foco a otro elemento.

 

Deberías controlar programáticamente que no se puedan introducir valores no numéricos, o que si se introducen valores erróneos (por ejemplo un número con dos comas), no te lance el error.

 

Un saludo

Adrian
Imagen de Adrian
Offline
última acción: Hace 7 años 1 mes
alta: 16/02/2017 - 17:04
Puntos: 35
Gracias CRON por la respuesta

Gracias CRON por la respuesta, realmente no tenía problema con que se desencadenara el calculo, lo había desencadenado con el evento ENTER.

Mi problema era que después de que se autocalculaba el importe, no de dejaba corregir la cifra del calculo de la formula.

He encontrado la solución, y la pongo por si alguien alguna vez acaba por aqui buscando una solución.

Ir a Propiedades del Textbox y el LOCKET =FALSE

Saludos

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Gracias por compartir.La

Gracias por compartir.

La verdad, no se me había ocurrido porque el valor por defecto de LOCKED es false.

 

Un saludo