Jump to content

No debería cumplirse la condición


Antoni

Recommended Posts

Hola Antoni,

Son las veces si no sabe uno si Reír o Llorar o alegrarse de que uno encontró un Bug y poderlo reportar... Ya hice pruebas y nada... sigue con aparecer el Mensaje...!!!

A veces me pasa eso y lo que hago es eliminar el formulario o incluso a veces el archivo y empezar...😂😂😂

Voy a hacer un formulario identico y te cuento...

 

Saludos.

Link to post
Share on other sites
Hace 1 hora, Leopoldo Blancas dijo:

Ya lo arregle... Creo que este paso es innecesario, pero tendrá su explicación???, pero Funciona.

 

Saludos.

Descuadre_LBV.xlsm 14 kB · 0 descargas

Pues a mi no me funciona, en Europa utilizamos la coma como separador decimal, en cualquier caso, no tiene sentido convertir a doble una variable que ya está definida como doble y se acumula convirtiendo a doble los textbox, definiendo las variables como moneda se arregla el problema . Imagino que es un problema de precisión a la hora de convertir. (¿?)

Otra forma sería convertir a moneda antes de comparar

Vendes = CCur(Vendes)
Mitxans = CCur(Mitxans)

 que es mas o menos lo que haces tú, o sea eliminar a partir del tercer decimal.

    X1 = CDbl(Format(Vendes, "#.00")) '<<<<<<------------
    X2 = CDbl(Format(Mitxans, "#.00")) '<<<<<<------------

Se agradece el interés y la dedicación.🙂🙂

 

Link to post
Share on other sites

hola, a todos !

Hace 2 horas, Antoni dijo:

en Europa utilizamos la coma como separador decimal

se trata de un bug inatendido que se presenta desde la versión xl-97 hasta la más actual pero solo en las versiones NO-USA de excel y en lo que toca a controles "TextBox" desde formularios, por lo que involucra (al menos) dos vertientes: idioma y configuración regional

1) como VBA es US-Centric, NO acepta la coma como separador válido para las decimales

2) un textbox, a pesar de que (su uso entendido) toma (preferentemente) TEXTOS y debiera aceptar CUALQUIER caracter, "piensa", "asume" ...  que toda version no-us-centric usa la coma en las decimales

3) funciones de vba como CDbl(... usan la configuración regional del equipo por lo que pueden interpretar esa incongruencia

un caso práctico de excel NO en inglés y configuración regional con separador decimal de coma (el mismo del ejemplo) se puede resolver de la siguiente forma:

op1: haciendo la pregunta consultando al excel, cambiar la forma del If...
If Vendes <> Mitxans Then
por esta forma:
If Evaluate(Vendes) <> Evaluate(Mitxans) Then

op2: cambiando el separador "ofensivo" a vba (p.ej. usando una instrucción previa como):
Vendes = Replace(Vendes, ",", "."): Mitxans = Replace(Mitxans, ",", ".")

op3: cambiando el tipo de datos de double a single (y sus conversiones) -LBV-

OJO (obviamente) FALLAN si la situación es que el separador decimal es el mismo que "espera" vba

conclusión:

operar cifras con decimales desde controles textbox (y vba)... presenta sus imponderables (?)

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Crear macros Excel

  • Posts

    • Estimados amigos, os cuento, como puedo imprimir cerrando el formulario en primer plano. Para entenderlo mejor os dejo el archivo y cuando entreis en admin 123 como se puede imprimir, muchassssss gracias labohoy23.xlsm
    • Hola, Les cuento que necesito imprimir una base de datos manteniendo siempre la informacion o columnas iniciales, la cantidad de hojas a imprimir dependera de la cantidad de columans con datos que hallan - estas ultimas varian semana a semana. Adjunto ejemplo: Se debe visualizar en cada impresion las 4 primeras columnas siempre (A, B, C y D), la columna E cambia una vez que se imprimio, pasando a la columna F y asi sucesivamente hasta que no hallan columnas con datos. El area a imprimir para el primer caso  A5:E17. Desde ya muchas gracias. Planilla Base Productos SISA.xlsx
    • es lo que te ponía mas arriba, si lo quieres hacer con código podes jugar con las propiedades shpFondo.left <--(izquierda) shpFondo.top <--(superior) shpFondo.Width <--(Ancho) shpFondo.Height <--(Alto) si miras este ejemplo de abajo pone ese cuadrado como el tamaño de la hoja, vos tenes que ir jugando con esas propiedades y lo acomodas a gusto. Private Sub Ajustar()     Dim shpFondo As Shape     Set shpFondo = Hoja1.Shapes("ShpFondo")     shpFondo.Width = Windows(1).UsableWidth - ScrollBar2.Width * 2     shpFondo.Height = Windows(1).UsableHeight - ScrollBar1.Height * 2 End Sub
    • De nuevo muchas gracias LeandroA. Lo único que me faltaría es poder adapta el cuadro de la imagen a mi necesidad, me explico. Ahora la foto esta en un cuadrado arriba de la hoja a la izquierda...¿yo podría de alguna manera definir el ancho y alto a ese cuadro de imagen y en que parte de la hoja colocarlo??   Muchisimas gracias LeandroA
    • Estimado @Gerson Pineda como siempre un placer. La opción de 365 no la puedo poner en práctica "de momento", y la otra opción funciona en tu fichero pero no consigo adaptarla al mío. Está claro que algo estoy haciendo mal, pero cambiando los rangos de búsqueda y comparación todavía no la he hecho conseguir funcionar. Voy a tener que echarle más horas hasta conseguirlo, porque si te funciona a ti tiene que funcionar si o si a mi.  En cuanto la haga funcionar te digo, pero estoy como un burro contra una pared. Muchas gracias.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy