Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 01/21/2021 in all areas

  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. Version 1.0.2

    67 downloads

    En este aporte intenta dar una fachada diferente a los controles clásicos de VBA que se utilizan en la parte de la hoja de Excel, no es que sean controles nuevos, sino que están retocados estéticamente con ayuda de shapes y automatizaciones, hay dos modulos adentro que nos ayudaran para hacer que todo esto funcione, tenia ganas de crear un formulario para que se automatice agregar el control a la hoja, pero por el momento tendrán que copiar y pegar los controles de esta hoja a la que quieran utilizar. los controles intentan simular la fachada de la interfaz de Bootstrap o controles web, los que mas les recomiendo es el control calendario que creo que quedo bastante fachero. esto aun no esta muy testeado por lo que puede haber que ir ajustando algunas cosas solo arme un grupo de controles, pero no se me dio para hacer alguna hoja con alguna utilidad que los emplee, si alguien se anima bienvenido bien cualquier duda pregunten, no soy de conectarme mucho pero tratare de ayudar.
    5 points
  4. Uff¡¡ Te dejo el archivo para que lo pruebes y comentes. Baja de Empleados(1).xlsm
    4 points
  5. No malinterpretes las palabras de Haplox simplemente te da un consejo para seguir avanzando.
    4 points
  6. Sin hipervínculos. Doble-click en cualquier fecha. calendario - años SIN VINCULOS.xlsm
    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 javierc y njnsp yo lo que haría sería ir al final de mi área de trabajo y seleccionar desde ahí hacia el final y eliminar celdas, tanto a la derecha, como hacia abajo.. ¿..? saludos Silvia
    3 points
  11. Aunque ya está resuelto te dejo otra opción Prueba.xlsm
    3 points
  12. njnsp

    Condicional de una matriz

    Vaya tela! en la consulta anterior no quería condicionales, y en esta sí!! (es broma...) Por partes.... La condición en B:B es, mayor que 0 y menor que F17 o la condición en B:B es La condición para mi es irrelevante, porque veo que sabes de que hablas, pero es que en una has pedido un "Y" y en la otra un "O", y para Excel don dos cosas diferentes. Si quieres un "Y", tendrás que multiplicar las dos mascaras Si quieres un "O", tendrás que sumar las mascaras. Si la hay, yo no la conozco. Espera un ratito y aparecerán los buenos de verdad con la respuesta a tu pregunta. Saludos.
    3 points
  13. Vale para cualquier libro con cualquier número de hojas, filas y columnas. Mostrar hojas.xlsm
    3 points
  14. Hola en opciones Avanzadas -> Al calcular este libro -> Establecer Precisión de Pantalla Imagen con esta opción desactivada Imagen con esta opción activada
    3 points
  15. 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
  16. Prueba y comenta Ejemplo.xlsm
    3 points
  17. 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
  18. Una alternativa mas, puede ser: =BUSCARV($M6,$B$5:$E$16,COINCIDIR(N$4,$B4:$E4,),0) Saludos!
    3 points
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. ¡Ya está! Para mostrar una imagen que está en la hoja, hay que convertirla a jpg previamente. Abre el adjunto y pulsa sobre un código QR de la columna C. GENERADOR CODIGO QR.xlsm
    3 points
  25. Enhorabuena por tu cambio de nombre Silvia, digo ...Laura. Vamos a celebrarlo: Saludos.
    3 points
  26. Corregido y un poco más eficiente: Sub SustituirCaracteres() Dim Valor As String, Celda As Range, Cadena As String Application.ScreenUpdating = False 'Colocar un punto como caracter de sustitución si el caracter a sustiuir se ha de eliminar Cadena = "àaèeìiòoúuäaëeïiöoüuñn,.@.&.=.\./.:.-.%.+.=.^.$.!.¨.|.>.<.®.#.(.`._.©.~.)." '---------------------------------------------------------- Set rango = Range("A1,C7,D10:E14,F1:H1") 'Rango a sustituir '<---------- '---------------------------------------------------------- For Each Celda In rango Valor = Celda.Text For x = 1 To Len(Valor) i = InStr(Cadena, Mid(Valor, x, 1)) If i Mod 2 = 1 Then If Mid(Cadena, i + 1) = "." Then Valor = Replace(Valor, Mid(Cadena, i, 1), "") i = i - 1 Else Valor = Replace(Valor, Mid(Cadena, i, 1), Mid(Cadena, i + 1, 1)) End If End If Next Celda.Value = Valor Next End Sub
    3 points
  27. 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
  28. @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
  29. Te dejo el archivo que al final abrí en Excel 2019. Nos comentas, Saludos. Mis contraseÃ_±as1.2.xlsm
    3 points
  30. @pegones1 sin afán de sonar negativo al tema ni generar conflicto, tú te mereces el 100% de la nota.
    3 points
  31. 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
  32. 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
  33. 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
  34. John Jairo V

    AYUDA CON BUSCAR

    ¡Hola a ambos! @YOUSAFJAMALD, para la próxima, sube un archivo Excel en vez de una imagen. Nos ayuda mucho más a ayudarte. Ahora, en cuanto a tu problema y como bien te comenta @DiegoPC, efectivamente, con la función BUSCAR "solita", el problema no es posible realizarlo, pero con "ayuda" si que es posible. =BUSCAR(2;1/FRECUENCIA(0;1/(1+(K$37:K$43<=N37)*K$37:K$43));L$37:L$43) otra alternativa un poco más "digerible": =INDICE(L$37:L$43;COINCIDIR(MAX(INDICE(K$37:K$43*(K$37:K$43<=N37);));K$37:K$43;)) o también usar la función BUSCARX (solo disponible en Microsoft 365 / Excel 2021 / Excel Online 😞 =BUSCARX(N37:N63;K37:K43;L37:L43;"No Existe";-1) Analiza detenidamente las propuestas. ¡Bendiciones!
    3 points
  35. Hola! @paikerr hace un tiempo estuve buscando hacer algo como lo que deseas, me parece que lo había conseguido, pero por el momento no tengo mis respaldos a mano, si lo encuentro te lo comparto. Te comparto este archivo que tenia a la vista. Sería más sencillo si quitas el clic derecho, con eso no tienes que esta liando en activar los menús en caso de requerirlos. Foro.xlsm
    3 points
  36. 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
  37. ¡Hola a ambos! Ya teniendo la fecha anterior, puedes usar esta fórmula: =INDICE(E14:E23;COINCIDIR(1;INDICE((F14:F23>8)/(E14:E23>J17););)) ¡Bendiciones!
    3 points
  38. 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
  39. ¡Hola, @edilbertosb! ( y @njnsp ) Revisa el adjunto, con una propuesta. ¡Bendiciones! dias-por-mes.xlsx
    3 points
  40. 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
  41. 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
  42. Hola, con formatos condicionales no seria mas fácil? Saludos Formato C.xlsx
    3 points
  43. 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
  44. 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
  45. Antoni

    REGISTRO DE ASISTENCIA

    Mientras me miro lo de JSDJSD, puedes revisar lo mío. ESCUELA.xlsm
    3 points
  46. 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
  47. Antoni

    Copia seguridad

    Opino lo mismo que Gerson, sustituye el checkbox por 2 optionbutton. Por ejemplo. C.Seguridad.xlsm
    3 points
×
×
  • Create New...

Important Information

Privacy Policy