Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 11/30/2020 in Posts

  1. LeandroA

    Nuevo Aporte

    Les comparto este ultimo proyecto en que estado jugando espero que les sea de utilidad.
    6 points
  2. ¿Algo así? Menú flotante.xlsm
    5 points
  3. Uff¡¡ Te dejo el archivo para que lo pruebes y comentes. Baja de Empleados(1).xlsm
    4 points
  4. No malinterpretes las palabras de Haplox simplemente te da un consejo para seguir avanzando.
    4 points
  5. Sin hipervínculos. Doble-click en cualquier fecha. calendario - años SIN VINCULOS.xlsm
    4 points
  6. 4 points
  7. 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
  8. También puedes configurar la hoja desde las propiedades en el proyecto VBA Mira la imagen Saludos
    4 points
  9. 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
  10. 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
  11. Te dejo un archivo como de 50,500 registros de Empleados, Tarda menos de 5 seg. para eliminar todos los registros correspondientes al mismo empleado. Solo adáptalo a tu BD. Coloca en la Celda M3 el numero de empleado y da clic en el Botón de eliminar Baja de Empleados.xlsm
    3 points
  12. Te pongo la macro para que cambies el año en la hoja "HOJA1" y se actualice Si esto cumple... no olvides dar clic en 🤍 calendario - años VINCULOS.xlsm
    3 points
  13. Una alternativa mas, puede ser: =BUSCARV($M6,$B$5:$E$16,COINCIDIR(N$4,$B4:$E4,),0) Saludos!
    3 points
  14. Les dejo este ejercicio para evitar que la Función BuscarV no se altere al insertar una columna que se encuentra dentro del rango de búsqueda. Quizá exista una mejor forma... que será bienvenida. Saludos Ejercicio BuscarV.xlsx
    3 points
  15. Enigma25

    Foco entre formularios

    Hola Benito Por lo que puedo notar es que tienes la llamada al procedimiento Verificar en el evento BeforeUpdate de tu TextBox cuando deberias tenerlo en el evento Change y posteriormente en el evento AfterUpdate es donde validarías tu variable Vr para que si está en false, entonces haga la llamada al formulario para registrar el nuevo cliente y con ello ya tienes solucionado esa parte. Lo otro es el orden de la tabulaciones de tus controles en donde el primer Frame debe ser 0, el segundo Frame debe ser 1 y el TexBox donde quieres el foco que sea 0 y en ese control con su indice de tabulación 0 tendrás el foco sin problemas. Mis respetos @Gerson Pineda
    3 points
  16. Hola pinoji, Tambien estoy aprendiendo y la ayuda que te dí, creeme lo aprendi aqui si tus primeras dudas ya se solucionaron, seria bueno que lo des por concluido y solucionado, y abras otro tema con tus otras consultas. eso ayuda a que otro foristas encuentren soluciones a sus casos y tambien ayuda a que otro foristas expertos nos puedan ayudar a resolver lo que necesitemos.. estamos en contacto
    3 points
  17. Hola, Adjunto nuevamante el archivo con una corrección en la extracción del "Ap. Paterno" Separar apellidos y nombre.xlsx
    3 points
  18. pegones1

    Juego Atrapa la Bola

    ⛱ He programado un nuevo juego para pasar un buen rato este verano atrapando bolas sin salir de Excel. © Como no puedo adjuntarlo en el subforo de "Ideas y Aportes", quisiera que descargaras el nuevo juego "Atrapa la Bola" desde mi blog: Catch the Ball Game - Juego Atrapa la Bola y decirme si funciona en tu versión de Excel. 🎴 Con este juego del verano puedes aprender a programar macros VBA de una manera diferente a cómo las usas en la oficina. Y también aprenderás trucos para avanzar en tus conocimientos de Excel. 😏 Si alguien te mira por encima del hombro mientras juegas, puedes ocultar el juego con un solo clic del ratón. 🚮 A ver si sabes decirme cómo ocultar el juego de miradas indiscretas en un comentario...
    3 points
  19. Hola sagamoal Ser miembro de paga, te da algunas ventajas, como subir archivos. Prueba esta formula, deberás adecuar a tus rangos =SI(INDICE(MES(Hoja1!$D$5:$D$9)=7,COINCIDIR(B6,Hoja1!$B$5:$B$9,)),INDICE((Hoja1!$D$5:$D$9,Hoja1!$E$5:$E$9),COINCIDIR(B6,Hoja1!$B$5:$B$9,),,SI(Hoja2!C6="i",1,2)),"") B6 es el código, y lo busca en la hoja 1 en la columna que corresponda. te adjunto imágenes para que te guíes. hoja1 Hoja2 Espero te sea de utilidad Saludos, Silvia
    3 points
  20. perdón creo que mi gata camino sobre el teclado y corrió el código Contrastar Imagenes.xlsm
    3 points
  21. Enhorabuena por tu cambio de nombre Silvia, digo ...Laura. Vamos a celebrarlo: Saludos.
    3 points
  22. @paikerr como te va! Si porque es manual, pero lo resuelves de una manera simple, utilizando un evento como Open y listo Tal que: Hoja1.ScrollArea = "A1:H10" Saludos
    3 points
  23. @pegones1 sin afán de sonar negativo al tema ni generar conflicto, tú te mereces el 100% de la nota.
    3 points
  24. Prueba así: Sub last_row() Application.ScreenUpdating = False With Hoja1 For x = 2 To .Range("A" & Rows.Count).End(xlUp).Row If Not .Range("A" & x) = .Range("A" & x + 1) Then .Rows(x).Copy Hoja2.Rows(Hoja2.Range("A" & Rows.Count).End(xlUp).Row + 1) End If Next End With End Sub
    3 points
  25. Abre el adjunto, al pulsar sobre la imagen START, se inicia un bucle sin fin, al pulsar sobre la imagen STOP, se detiene. Bucle sin fin.xlsm
    3 points
  26. Un poco más rápido y ordenado. Creo que no necesitas el botón buscar, para agilizar se podría condicionar la búsqueda a que se teclearan como mínimo 3 caracteres en el textbox. Ya comentarás. suministros (1).xlsm
    3 points
  27. Adjunto modificacion agregando solución con formula Ecuación Haversine en Excel.xlsm
    3 points
  28. Prueba el adjunto con: Tus datos originales. Una tabla auxiliar para convertir los datos originales en una tabla normalizada. Una tabla dinámica ordenada por productos, ¡como querías! Una tabla dinámica ordenada por productos e ingredientes, ¡como a mí me apetece! Una segmentación de datos para filtrar por productos. Pasos a seguir: Inserta nuevos productos e ingredientes en la columna A con el mismo formato que el original. Aumenta el tamaño de la tabla auxiliar, arrastrando hacia abajo la esquina inferior derecha de la celda E17. Actualiza las tablas dinámicas desde el menú: Datos > Actualizar todo Filtrar productos con la segmentación de datos. Cambiar el formato de las tablas dinámicas seleccionando en el menú: Diseño > Estilos de tabla dinámica Este es el resultado obtenido: Salu2, Pedro Wave Ingredientes_PW1.xlsx
    3 points
  29. Hola!! Otra alternativa, también con macros, pero un poquito más corta y preparada para que el listado de la izquierda crezca sin tener que hacer modificaciones. Listado Productos_Diego.xlsm
    3 points
  30. Hola a todos, Soy nuevo por aquí, espero poder aprender más de lo poco que sé y ayudaros si puedo en algo. Estaré encantado de compartir mi conocimiento y conocer vuestras habilidades de Excel. Si quieres un reto de Excel te propongo algo a ver si lo resolvemos, ya me cuentas. Saludos
    3 points
  31. Hola a todos; -Me respondo a mi mismo. He conseguido lo que pretendía añadiendo las siguientes líneas al código. No sé si el orden es del todo correcto pero cumple la función que buscaba. Aquí os dejo del código de como ha quedado la macro. Private Sub btn_Aceptar_Click() Application.ScreenUpdating = False '<<<<Código añadido If txt_pass.Value = UCase(Sheets("Registro").[G3]) Then Dim HOJA As String '<<<<Código añadido Label2.Visible = True Hoja6.Range("A3") = "Admin" mostrarHojas HOJA = ActiveSheet.Name '<<<<Código añadido ActiveSheet.Visible = 2 Unload Me Sheets(HOJA).Visible = True '<<<<Código añadido Sheets(HOJA).Select '<<<<Código añadido Else MsgBox "Debe registrarse para poder aceder al formulario", vbInformation, "Aviso" Unload Me 'frm_Login.Show End If Application.ScreenUpdating = True '<<<<Código añadido End Sub
    3 points
  32. ¡Hola, @edilbertosb! ( y @njnsp ) Revisa el adjunto, con una propuesta. ¡Bendiciones! dias-por-mes.xlsx
    3 points
  33. Carga una imagen detrás de otra, si no existe la imagen de la persona, quedará la imagen de error. Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("A7")) Is Nothing Then Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Fotos\error.jpg") Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Fotos\" & Target & ".jpg") Range("B7").Select End If End Sub
    3 points
  34. Hola a ambos. Yo redondearía la fórmula para los casos de ganancia 100%, en los que en el año 2020 es igual a 0, y en el año 2021 es mayor a 0. =SI(Y(C6=0;B6>0);1;SI.ERROR((B6-C6)/C6;"")) Saludos.
    3 points
  35. Hola, con formatos condicionales no seria mas fácil? Saludos Formato C.xlsx
    3 points
  36. Hola a todos. Gabriel, utiliza la bola, que para eso se invento hace muchos años. Leer la mente es para personas que pueden hacer más de una cosa a la vez, no como nosotros. Saludos.
    3 points
  37. Una alternativa, pásale la celda resultado a esta macro: Sub SumaHojas(Celda As Range) Dim Desde As String, Hasta As String Desde = Sheets(2).Name Hasta = Sheets(Sheets.Count).Name Celda.Formula = "=SUM('" & Desde & ":" & Hasta & "'!A1)" End Sub
    3 points
  38. Antoni

    REGISTRO DE ASISTENCIA

    Mientras me miro lo de JSDJSD, puedes revisar lo mío. ESCUELA.xlsm
    3 points
  39. Antoni

    Copia seguridad

    En España, Galones: Distintivos que indican la jerarquía militar, coloquialmente indica el nivel de conocimiento de un tema/situación.
    3 points
  40. Antoni

    Copia seguridad

    Opino lo mismo que Gerson, sustituye el checkbox por 2 optionbutton. Por ejemplo. C.Seguridad.xlsm
    3 points
  41. Antoni

    Buscador en ListBox VBA

    Prueba a ver que tal va. InicioPrueba.xlsm
    3 points
  42. Private Sub Fecha_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Fecha <> Empty Then If Not IsDate(Me.Fecha) Then MsgBox ("Introduzca una fecha correcta"), vbCritical Cancel = True: Fecha = Empty Exit Sub End If If Not CDate(Fecha) = Date Then If MsgBox("La fecha no coincide con el día de hoy" & Chr(10) & _ " ¿Desea continuar?", vbYesNo + vbQuestion) = vbNo Then Cancel = True: Fecha = Empty Exit Sub End If End If Fecha = Format(CDate(Fecha), "dd/mm/yyyy") End If End Sub
    3 points
  43. Es muy fácil, yo tengo cosas hechas así. Para el ejemplo, no hace falta que mandes lo que tu tienes, escribe en un excel en blanco, lo que tienes (sin formatos ni nada) y por otro lado, pones lo que deseas. Es lo que hacemos todos 😉
    3 points
  44. 3 points
  45. Hola Las tablas estructuradas ya traen esa caracteristica, una vez la activas automaticamente toma la ultima fila para el total, ademas no solo SUMA se puede usar, no todo es macros o Vba Mira la imagen Saludos
    3 points
  46. ¡Hola a ambos! Dejo otra opción en el adjunto. ¡Bendiciones! Buscar palabra de una lista en un texto.xlsx
    3 points
  47. ¡Hola a todos! En ese orden de ideas... para qué tablas o dinamización de rangos, si se puede, simplemente: =MAX(1:1) ¡Bendiciones!
    3 points
  48. Archivo modificado INVTA AGROCEN v2 .xlsm
    3 points
×
×
  • Create New...

Important Information

Privacy Policy