Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 11/23/2019 in all areas

  1. 1 point
    hola, a todos ! 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 (?)
  2. 1 point
    Antoni

    No debería cumplirse la condición

    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.🙂🙂
  3. 1 point
    Muchas Gracias,esta bueno,con respecto a las conexiones normalmente me conecto al abrir el userform(Initialize) y desconecto al salir del formulario,por error deje varia conexiones ,mil gracias hermano saludos que estes muy bien
  4. 1 point
    Que tal Randal. Lo que buscas es la funcion Text.PadStart() . Esta función repite los caracteres introducidos en el tercer parametro la cantidad de veces especificada en su parametro cuenta. Saludos!
  5. 1 point
    Hola Trebur Revisa el adjunto con una solución Saludos Combinar rangos Vba_GP.zip
  6. 1 point
    Hola, estaba intentando hacer una macro en el libro inventario que al ejecutarla me abra el libro datos2 y vaya recorriendo la columna producto y comparando cada dato de dicha columna con el que hay en la columna producto del libro inventario, si lo encuentra me copie en el libro inventario el dato que ha encontrado siete columnas a la derecha en la columna cantidad (.offset (0,7)), y si no lo encuentra copie el código, producto y cantidad al final del todo, en la primera fila vacía del libro inventario, pero me estoy liando un poco.... El libro datos2 cambia todos los meses, por eso quiero copiar los datos del mismo en el libro inventario gracias por la ayuda Datos2.xlsx Inventario.xlsm


  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...

Important Information

Privacy Policy