Jump to content

Leaderboard

Popular Content

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

  1. 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
  2. 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
  3. Hola, con formatos condicionales no seria mas fácil? Saludos Formato C.xlsx
    3 points
  4. GabrielRaigosa

    Formula Logica

    Hola, La formula que necesitas en I4 es: =BUSCARV(F2,A11:C15,3) =BUSCARV(F2;A11:C15;3)
    2 points
  5. ea4djw

    Uso de ActiveControl

    Aquí está mi pequeño gran proyecto (Como he comentado está en pañales). Para acceder al mogollón del tema pulsar sobre probar luego sobre TPV->Entrada TPV TPV EXCEL.zip
    2 points
  6. Lo primero que te recomendaría es que te acostumbraras a trabajar con los mismos formatos en los datos y en los formularios. Lo primero que veo que me llama la atención y es una de las causas de tus problemas es que en las celdas AM3:AM19 las horas los valores de las horas las tienes introducidas en formato numérico, y al dar formato de celda a Hora Perú tu lo ves como hh/mm/ss a. m./p. m. incluidos espacios y puntos en am y pm. Lo que hace el listbox al seleccionar es tomar el valor REAL de la celda, que en este caso será un valor numérico (puedes verlo si cambias el formato de cel
    2 points
  7. Al pulsar el botón "Click para calcular", a parte de lo que ya hacía, calcula los vencimientos en función del periodo de liquidación seleccionado. Préstamos.xlsm
    2 points
  8. Sub CopiarHojaEnLibroNuevo() ActiveSheet.Copy Application.Dialogs(xlDialogSaveAs).Show End Sub
    2 points
  9. Hola a todos, soy Jose, gracias por crear esta estupenda comunidad de ayuda a Excel, espero aprender mucho de todos ustedes y aportar mi granito de arena. Saludos a todos
    2 points
  10. Hola JOLUFE . Te olvidas del caracter 160. Saludos. Espacios_tor.xlsx
    2 points
  11. Debes usar el evento SheetSelectionChange de ThisWorkbook que se activa para cualquier hoja: Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Select Case ActiveSheet.Name Case "Cuadrante", "Otros datos", "Mas datos" '<-- Hojas sobre la que hay que actuar Select Case Target.Column Case 4, 5, 8, 10, 14, 15, 16, 20, 21, 22 ActiveSheet.Protect Password:="MiContraseña", AllowFiltering:=True Case Else ActiveSheet.Unprotect Password:="MiContraseña" End Select End Select End Sub
    2 points
  12. Así me gusta, como Juan Palomo, yo me lo guiso, yo me lo como. 😂
    2 points
  13. Hola Prueba así: Private Sub CommandButton1_Click() uf = Range("D" & Rows.Count).End(xlUp).Row + 1 reg = Application.CountIf(Range("D:D"), Range("I3")) If reg Then VBA.MsgBox "El registro " & Range("I3") & _ " ya existe", vbCritical, "AyudaExcel" Else Range("I3:L3").Copy Range("D" & uf) Range("D" & uf).Select End If End Sub Saludos
    2 points
  14. Hola a todos! @CSI1981 Te adjunto mi aporte, utilizando distintas herramientas para obtener el mismo resultado Podrás ver cada hoja, Power Query, Formulas 365, Tabla dinámica y VBA Saludos! Obtener unicos y concatenar_GP.xlsm
    2 points
  15. Después de tantas consultas, todavía insistes en no subir el archivo. ¿Cómo quieres que comprobemos porqué te ocurre lo que cuentas. Haz el favor de seguir las normas del foro.
    2 points
  16. =SUMAPRODUCTO((ENTERO(C$2:C$6)=HOY())*B$2:B$6) Hola, puede salir así
    2 points
  17. Con tu ejemplo se puede explicar mejor lo que está pasando. Cuando intentas cerrar un libro y se han realizado cambios (puedes saber si se han guardado con la propiedad ThisWorkbook.Saved), el orden de eventos es: Workbook_BeforeClose Workbook_BeforeSave Workbook_AfterSave Workbook_WindowDeactivate Workbook_Deactivate Al guardar el libro en el evento BeforeClose provocas que se lancen otros dos eventos más, los mismos que se ejecutarían si no hubieses guardado el libro, quedando una secuencia así: Workbook_BeforeClose
    2 points
  18. With Range("Z2", "Z" & Range("AC2").End(xlDown).Row) .Formula = "=VLOOKUP(Y2,AO:AP,2,0)" .Value = .Value End With
    2 points
  19. Mira a ver si te vale esta macro. No me deja adjuntar el archivo. Sub SustituirStrings() Dim rHoras As Range, rTabla As Range, rDatos As Range Dim sh As Worksheet Set sh = ActiveSheet Set rTabla = sh.UsedRange Set rDatos = rTabla.Offset(1).Resize(rTabla.Rows.Count - 1) With rDatos Set rHoras = Union(.Columns(14), .Columns(15), .Columns(16), .Columns(18), .Columns(19)) With rHoras .Replace "h ", ":", xlPart .Replace "m", "", xlPart .NumberFormat = "hh:mm" End With
    2 points
  20. Me alegro 👍. Madre mía que mayor eres... 😇. Yo acabé mi carrera a final de los 80 y tú ya llevabas media vida progamando
    2 points
  21. Version 1.0.0

    68 downloads

    Hola a todos: Os dejo un formulario para crear y visualizar álbumes de fotografías. Cada álbum va en una hoja. Puede haber cualquier número de álbumes. Cada álbum puede contener cualquier número de imágenes. En el formulario: Se pueden añadir múltiples imágenes a la vez. Al pulsar sobre la miniatura cambia la resolución de la imagen. El resto os lo dejo para que lo descubrais vosotros. Paz y amor.
    2 points
  22. @Maria_80 te subo el archivo y le picas en el botón consolidar y seleccionas el archivo te importa en el la hoja consolidado, sea txt o csv es todo lo que pude ayudarte a ver si entendí, espero que te funcione saludos isidro consolidar-varios-archivos-csv-o-txt-usando-conexion-de-datos-externos-y-vba.xlsm
    1 point
  23. No existe el evento click en un textbox, por lo que hay que detectarlo a través del evento MouseDown o MouseUp. Sí existe, el evento doble-click, pero cuidado, a todos los efectos, un doble-click se tratará como dos clicks, uno detrás de otro. Te dejo un ejemplo de como utilizar un módulo de clase para detectar los eventos de cualquier control, válido tanto para los creados en tiempo de diseño, como para los creados en tiempo de ejecución. En él encontrarás como detectar los eventos: Doble-click Click Clic-derecho Shift+click Shift+clic-derecho
    1 point
  24. Abre la conexión con la base de datos en el evento Initialize del Userform y ciérrala en el evento Terminate. De esta forma no es necesario estar abriendo y cerrando la base de datos, eso si, siempre que se trate de un entorno monousuario, en caso contrario debes ir con cuidado con los parámetros de la conexión para no dejar colgados al resto de usuarios.
    1 point
  25. Prueba así: Private Sub cmb_Hora_Change() If cmb_Hora.ListIndex > -1 Then cmb_Hora = Format(cmb_Hora, "hh:mm:ss am/pm") End Sub
    1 point
  26. En el evento change del combo hora: Private Sub cmb_Hora_Change() cmb_Hora = Format(cmb_Hora, "hh:mm:ss am/pm") End Sub
    1 point
  27. Buenos días; -Adjunto macro corregida. Ahora se puede elegir el logo que se coloca en el título de impresión. A ver que os parece. Saludos. MAjustesImpresión.zip
    1 point
  28. ok, ok, ahora lo he pillado. Pensaba que trabajabas con la tabla dinámica.. Se me ocurre... en vez de usar si.error, porque no usas algo así?? N5:
    1 point
  29. Hola Carlos Prueba así: =SUMAPRODUCTO(--ESNUMERO(HALLAR(E2,B2:B5&C2:C5)),--A2:A5) Saludos
    1 point
  30. Solo reemplaza los valores a ficticios o ¿a que te refieres? Saludos
    1 point
  31. Hola Diego Que horrible UDF Aunque para tu nivel, es raro que no hayas hecho "algo" Te dejo 2 opciones, macro y udf [ya veras lo simple que es] Saludos Comparar y concatenar UDF_GP.xlsm
    1 point
  32. He realizado modificaciones, prueba el adjunto y de paso dejo un video demostrativo del funcionamiento Saludos Escribir sin notas_GP.xlsm
    1 point
  33. Revisa bien como lo tienes, porque a mi me sale bien la fórmula de @torquemada. Seguramente sea una tontería, un error al transcribir, el formato de la celda... ERROR FORMULA DIVISON %.xlsx
    1 point
  34. ¡Hola a todos! Veamos, según términos de @torquemada (un saludo), algo un poco más "elegante". ¡Bendiciones! calendario-2021-excel-lunes-a-domingo.xlsx
    1 point
  35. Hola jomunozta . Prueba el archivo adjunto con dos propuestas, larga y corta. Saludos. Contar días si son hábiles por mes.tor.xlsx
    1 point
  36. Hola Pirtrafilla. Una forma sería colocar en C3 "=FECHA(AÑO(HOY());3;1)" y en D3 "=FIN.MES(C3;-1)" y arrastrar a la derecha hasta donde convenga. Después seleccionas las celdas usadas, y le das formato "aaaamm". Saludos.
    1 point
  37. Gracias! @CarlosKurt comprobando tu ejemplo, veo que aplicaba una operación en el % de la 4ª parte, y es donde me salía error. Muchas gracias de nuevo.
    1 point
  38. Muchas gracias Antoni!! Me estaba comiendo la cabeza desde hacía un rato...
    1 point
  39. Creo que con VBA si se puede, pero yo voy frito con eso. Espera que vengan los cracks y si nadie contesta prueba en el foro Macros y programación VBA que alli están los maestros
    1 point
  40. ¡Hola a ambos! Una opción diferente, puede ser (Matricial, donde debes presionar Ctrl + Shift + Enter en vez de solo Enter, si no tienes Microsoft 365) : =CONTAR(1/FRECUENCIA(SI(E2:E11=J2;COINCIDIR(A2:A11;A2:A11;));FILA(A2:A11)-FILA(A1))) y, si tienes Microsoft 365, una opción más: =CONTARA(UNICOS(FILTRAR(A2:A11;E2:E11=J2))) Nota: Mi separador de argumentos es ";". Si no es el tuyo, cámbialo por "," o por el que maneje tu sistema. ¡Bendiciones!
    1 point
  41. @Caballero Rojo , aparte de que es necesario subir el archivo de ejemplo, prueba con Me.LISTA.List(Y, 1) =CDate(Sheets("PLANILLA").Cells(File, 3).Value)
    1 point
  42. Hola Ese nuevo menú, es parte de los que están inscritos al programa insider, con el canal beta Pero tranquilo, esas opciones están en la ficha Datos, desde Insertar, es digamos como un atajo, si estamos en esa ficha Saludos
    1 point
  43. njnsp

    Subtabla

    Hola de nuevo. Hay una manera un poco chapucera, y que no quería ofrecerla por "vergüenza", pero como ya esta todo perdido vamos al rio Se puede hacer algo parecido a lo que pides con Esquema - Agrupar de la pestaña Datos. Yo lo uso cuando quiero ocultar filas que son subfilas de la principal. El problema es que lo tienes que ir modificando a medida que vayas incluyendo subfilas porque no es actualizable, o dejes un numero fijo de subfilas para usar posteriormente. Te dejo una muestra y comentas. Saludos Incidencias.xlsx
    1 point
  44. Antoni buenos días, Muchas gracias, hice lo que sugeriste y ahora si funciona perfectamente, me agrega los valores con todos los decimales, ese es el único problema que tengo hasta ahora, muchas gracias de nuevo por tu ayuda
    1 point
  45. Prueba con esto: Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.DisplayAlerts = False ThisWorkbook.Save Application.DisplayAlerts = True MsgBox "ARCHIVO HA SIDO GUARDADO CON ÉXITO" End Sub
    1 point
  46. Gerson Pineda

    Subtabla

    Hola Existen distintas formas de lograr tu objetivo, pero me gusta el siguiente Primero seleccionas las columnas y sigue en las instrucciones de la columna J Saludos!
    1 point
  47. ¡Que tiempos aquellos! 😥Otra curiosidad, soy Programador de Sistemas por el Instituto de Informática, título que obtuve por convalidación de la experiencia profesional, en un único examen que hice a principios de los 70 en dicho Instituto, que estaba en la calle Vitrubio de Madrid. Otra más, hice el segundo curso de COBOL que se hizo en España a mediados de los 60, en IBM Barcelona. 🤩 Muchas gracias por el enlace, lo he disfrutado muchísimo. 👍
    1 point
  48. Hola Juan Hay variedad de web con plantillas de ese tipo, pero ademas te recomiendo que leas mucho sobre power pivot y Dax, sin dejar de mencionar lo mas importante, que es el modelado de dato; ¿Porque te lo menciono? pues porque no todos los Dashboard por ahi son los correcto o idoneos Por aqui una Dashboards en Excel (justexw.com) Feliz año 2021! Saludos
    1 point
  49. Re: Abrir form al seleccionar celda de un rango Hola: En la hoja: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 2 Then MiMacro End Sub [/CODE] o [CODE] Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 2 Then Userform1.Show End Sub [/CODE] Saludos.
    1 point
  50. Hola que tal, pues aqui de nuevo pidiendo de su ayuda, miren yo manejo una base de datos de los cuales los nombres vienen por nombre o nombres, apellido paterno y materno. Lo que quiero es invertir el orden a apellido paterno materno y nombre o nombres ej. Luis gutierrez perez gutierrez perez luis tengo una formula que si me da el cambio de invertir el orden pero cuando le pongo 2 nombres ya no me da??? Bueno aqui dejo el archivo para ver si me pueden ayudar a mejorar la formula??? Muchas gracias. INVERTIR ORDEN DE CELDAS.zip
    1 point
  • Newsletter

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

Important Information

Privacy Policy