Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 11/18/2009 in Posts

  1. LeandroA

    Nuevo Aporte

    Les comparto este ultimo proyecto en que estado jugando espero que les sea de utilidad.
    6 points
  2. Antoni

    ¡ 5.000 likes !

    A por los 10.000. 🙂
    5 points
  3. Hola a los dos Yo creo que entendí otra cosa.. 😆🤪 Saludos, Silvia Ejemplo asignacion de ID a cada semana de acuerdo a historial sq.xlsx
    5 points
  4. Hola Si eso, ocultar el menu y barras de excel (por el foro hay unos similares, pero no cae mal verlo de diferente forma:)) Espero que sirva... Saludos desde Honduras Ocultar Menu-Barras.zip
    5 points
  5. Onkey, tiene un argumento opcional, que es llamar a un procedimiento, bueno ahi agregas el mensaje y listo Sub MostrarMensaje() If Application.OnKey Key:="{c}" Then "MiSub" End Sub Sub MiSub() VBA.MsgBox "Hola mundo" End Sub Saludos
    4 points
  6. También puedes configurar la hoja desde las propiedades en el proyecto VBA Mira la imagen Saludos
    4 points
  7. Hoy, 14/02/2021, se cumple el 75 aniversario de la creación del primer ordenador. Se programaba por cables conectando funciones preestablecidas por hardware, podía hacer hasta 500 sumas por segundo, ocupaba 170 metros cuadrados y gastaba como 18.000 bombillas. (180 Kw/hora) Os dejo el artículo de El País. 75 aniversario de la creación de ENIAC, el primer ordenador electrónico
    4 points
  8. Hola JOCAMI90 la formula tenía una falla =SUMAR.SI.CONJUNTO(Datos!$D$3:$D$5000,Datos!$B$3:$B$5000,"*WH/"&B$3&"*",Datos!$C$3:$C$5000,$A4,Datos!$A$3:$A$5000,">="&$B$1,Datos!$A$3:$A$5000,"<="&FIN.MES($B$1,0)) considera que mi separador de argumentos es la coma (,), si el tuyo es otro, corriges. esto solo funciona para las columnas B y C que pertenecen a Setiembre, deberás cambiar manualmente B1, por D1 en Octubre, esa situación se dá , debido a que utilizaste celdas combinadas, lo que podrías hacer es descombinar las celdas y colocar las fechas en todas las columnas, en ese caso, la formula quedaría así: =SUMAR.SI.CONJUNTO(Datos!$D$3:$D$5000,Datos!$B$3:$B$5000,"*WH/"&B$3&"*",Datos!$C$3:$C$5000,ESPACIOS($A4),Datos!$A$3:$A$5000,">="&B$1,Datos!$A$3:$A$5000,"<="&FIN.MES(B$1,0)) y podrías arrastrarla a la derecha y hacia abajo.. sin modificar nada. Lo de la función Espacios, queda a tu decisión, (según lo que te comento líneas abajo), no olvides que cuanto mas cálculos haga la formula, mas ralentizará tu archivo. Además toma en cuenta lo siguiente: En la columna A, de la hoja resultados, no se si todos, pero por lo menos, los que revisé, tienen un ESPACIO al final. Para que un Texto coincida con otro, debe estar escrito EXACTAMENTE IGUAL que en la base de búsqueda. podríamos agrandar la formula, para quitar los espacios, de esta forma =SUMAR.SI.CONJUNTO(Datos!$D$3:$D$5000,Datos!$B$3:$B$5000,"*WH/"&B$3&"*",Datos!$C$3:$C$5000,ESPACIOS($A4),Datos!$A$3:$A$5000,">="&$B$1,Datos!$A$3:$A$5000,"<="&FIN.MES($B$1,0)) o podrias crear una columna auxiliar provisionar, colocas por ejemplo en k4 =ESPACIOS(A4) Lo llevas hacia abajo y luego lo copias A VALORES en A. ======================== tienes otro inconveniente con los WH/IN/00012 WH/N/A/00003 WH/OUT/00058 WH/IN/00015 como ves, WH/IN y WH/N no son iguales, por lo que esa no se sumará, debes corregir en la base. =================== Toma en cuenta que nunca deberías trabajar con Rangos de columnas completas, tipo A:A, B:B, si es el tema, que tienes todas las columnas llenas de datos (que lo dudo), ese libro te dará muchos problemas, por la lentitud de los cálculos.. ya que tendrá que evaluar las cuchucientas mil filas. Es mejor que trabajes con rangos amplios, dando un margen extra... (o también puedes convertir tu base en TABLA, en ese caso las formulas se autoajustan automáticamente. Bueno, creo que son todas mis observaciones.. Por si acaso incluyo tu archivo. saludos, Silvia AYUDA EXCEL EJEMPLO.xlsx
    4 points
  9. Como @Antoni debe estar muy ocupado, adjunto un archivo con 3 macros para obtener el día de la semana desde el 0100-01-01 (aaaa-mm-dd), en formato ISO 8601, que es el primer día admitido por VBA. La función GetWeekDayName() devuelve el día de la semana si se le pasa una cadena de texto en formato ISO 8601, llamando a las otras dos macros. Es fácil convertir una string con una fecha en formato de texto al formato estándar ISO. Option Explicit Function GetWeekDayName(sDate As String) As String ' ' VBA WeekdayName Function ' Dim iWeekDay As Integer iWeekDay = GetWeekDay(sDate) GetWeekDayName = WeekdayName(iWeekDay, False, vbMonday) End Function Function GetWeekDay(sDate As String) As Integer ' ' VBA WeekDay Function ' Dim dtDate As Date dtDate = GetSerialDate(sDate) GetWeekDay = Weekday(dtDate, vbMonday) End Function Function GetSerialDate(sDate As String) As Double ' ' VBA DateSerial Function ' Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer iYear = Left$(sDate, 4) iMonth = Mid$(sDate, 6, 2) iDay = Right$(sDate, 2) GetSerialDate = DateSerial(iYear, iMonth, iDay) End Function En el fichero adjunto he incluido las fechas especiales que: Fechas incorrectas en Excel inferiores al 1900-03-01 Fecha errónea en Excel y en VBA: 1900-02-29, ya que el año 1900 no es bisiesto. Primera fecha correcta en VBA: 0100-01-01 Fechas que no han existido en el Calendario Gregoriano, anteriores al 1582-10-15 Último día correcto en Excel y en VBA: 9999-12-31 @zelarra821 , @isidrod , espero que sea de ayuda y ayude a comprender el mundo pasado, presente y futuro. Años Menores que 1900 PW1.xlsm
    4 points
  10. Nunca debes utilizar los textbox, la función Val(), ni la función Format() en los cálculos, utiliza las variables y las funciones de conversión del tipo adecuado. He añadido un pequeño calendario. PRUEBA1.xlsm
    4 points
  11. Hola Esas fallas no están relacionadas a la versión del VBA o de Window (7, 10, etc.) sino a: - Uso de objetos ActiveX no compatibles entre ediciones de Office (32 o 64 bits, ojo, bits del Office, no importa lo de Windows). - Uso de objetos ActiveX compatible pero no registrados/instalados entre distintas PC. Recuerden que las librerías y objetos ActiveX (o similares), no "viajan" con los archivos de Excel. - "Llamadas" a funciones de la API de Windows solo para 32 bits. - Uso de propiedades y/u objetos de Excel "nuevas". Recuerden que las versiones más recientes de Excel tienen nuevos objetos y funciones que no son compatibles en versiones más antiguas. Si bien el VBA puede ser igual, obvio usar esas propiedades desde VBA traerá problemas en versiones más antiguas. - Ojo con lo que comentas, Haplox, si usas libros compartidos para trabajar... creo que sabes que traen muchos problemas que tampoco están relacionados a la versión de VBA necesariamente. Por ahí que se me escapan un par de cosas más. Saludos
    4 points
  12. John Jairo V

    si(y y si juntos

    ¡Hola a ambos! Se debe tener en cuenta un principio de Excel a la hora de construir este tipo de fórmulas: los números, si quieres que se reconozcan como tal, no deben ir entre comillas. Teniendo en cuenta esto, verifica la siguiente fórmula propuesta: =SI(F8="efectivo a";36000;SI(F8="efectivo b";48000;SI(M8>0;SI(F8="cuotas a";6000;8000);SI(F8="cuotas a";18000;24000)))) ¡Bendiciones!
    4 points
  13. hola a todos Dieguinho, yo tengo la mejor solución: Resetea tu máquina e instala todo de nuevo... y una mas radical: CAMBIA DE COMPUTADORA😂😂 la antigüita me la puedes donar. 😄 jaja saludos, Silvia
    4 points
  14. Hola! Hace 10 años, subí un aporte similar a lo que necesitas, abajo el tema Saludos
    4 points
  15. ¿Y porqué no ejecutar la macro directamente? Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 4 And _ Target.Column = 5 And _ Target(1, 1) <> "" Then Call MacroA End If End Sub
    4 points
  16. Hola @MauriciodeAbreu Selecciona el formulario y busca la propiedad "StartUpPosition". Te dejo una img Eres nuevo. Por favor ten en cuenta que, para una mejor resolución de los problemas, debes subir un archivo ejemplo (no necesariamente el original ni con datos verdaderos, pero que tenga la estructura de aquel). Si deseas retribuir el tiempo invertido en procurar la solución del problema planteado, puedes hacerlo con un click en el corazón que se encuentra en la parte derecha del comentario. Qué tengas un buen día! Suerte!
    4 points
  17. @jhon fredy tus datos personales están seguros en Ayuda Excel. No son cedidos, vendidos o puestos a disposición de terceros. Cuando publicas tu proyecto en el foro lo estás poniendo a disposición de 25.730 usuarios, los cuales tienen permisos para descargarlos y manipularlos para darte una respuesta.. Cuando publicas un archivo en Ayuda Excel lo haces bajo tu responsabilidad, quedando Ayuda Excel exonerado de cualquier uso que los usuarios de la web puedan hacer de él. Por favor, echa un vistazo a este post publicado en la carpeta de Normas: Al registrarte en Ayuda Excel aceptaste las normas de uso: En caso de que ya no estés de acuerdo con ellas, te pediré que retires tus contenidos. Saludos,
    4 points
  18. Aqui os dejo una pequeña utilidad para listar archivos, que encontre en el baul de los recuerdos, funciona con excel 2010. Espero que os sirva de utilidad Un saludo. listar archivos.zip
    4 points
  19. Hola, Os dejo aqui un archivo auxiliar que hice por necesidad de crear una animacion de casilla en un programa de ajedrez que ando haciendo en C++, como ya esta terminada esa fase de animacion, lo iba a guardar en el baul y me acordé de vosotros, quizas os guste para tener mas flexibilidad a la hora de pintar del color que mas os interese el color de fondo de las celdas. Aqui la formula, donde Pix.R, Pix.G y Pix.B han de ser sustituidos por el valor ROJO, VERDE, AZUL que os interese en un rango entre 0 y 255, habrá otros metodos pero este es el mio: Dim P8 As Double: P8 = 2 ^ 8 'potencias de colores Dim P16 As Double: P16 = 2 ^ 16 'potencias de colores Pix.R + (((Pix.G + 1) * P8) - P8) + (((Pix.B + 1) * P16) - P16)[/CODE] Para pintar la celda del color deseado, solo hay que usar la propiedad de celda: Range(A1).Interior.Color = FORMULA DE ARRIBA Os dejo tambien el archivo de pruebas, a ver si os da ideas para alguno de vuestros proyectos. Un saludo! Eligiendo colores2.zip
    4 points
  20. Muerto el perro, se acabó la rabia. Ejemplo: Si quieres la acción sobre la Hoja2: Application.ScreenUpdating = False Set Activa = ActiveSheet Sheets("Hoja2").Activate ActiveWindow.FreezePanes = True Activa.Activate Application.ScreenUpdating = True
    3 points
  21. Prueba y comenta Semana numero Prueba (!).xlsm
    3 points
  • Newsletter

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

Important Information

Privacy Policy