Saltar al contenido

Modificar Macro para que no agrupe datos y elimine los duplicados


Recommended Posts

publicado

Buen día foro, adjunto un archivo el cual se compone de dos hojas (Hoja1 tabla de datos) y (Hoja3) formato de consulta/reporte) en el cual entre otras la Columna A tiene un numero el cual se ordena consecutivamente, la columna E un numero de Parte y columna G numero de Certificado, lo que estoy batallando es para que tomando como referencia la columna A me aparezcan solo datos únicos y elimine los duplicados, ya que la referencia de la columna G (numero de certificado) si se agrupa en una celda, el link que se genera automáticamente en la columna J ya no me abre puesto que me toma la referencia del certificado todo agrupado y lo nombra con todas las referencias agrupadas.

en el archivo adjunto explico algunas cosas mas y pongo una pestaña del resultado que espero, puse como ejemplo solo una parte pero espero que toda la tabla tenga este resultado, ya no supe a que función de las macros modificar, por eso pido su valioso apoyo, las macros funcionan bien, pero quiero modificarlas a ver si es posible.

Para jalar los datos solo pongo la referencia en la Tarea (B8) y le doy clic a la carita sonriente (H1) y listo me extrae la informacion de la hoja1 y vincula el ceftificado en PDF de una ruta (hasta aquí todo bien las macros funcionan muy bien, pero ya NO se cual macro de las que contiene el archivo o que debo modificar para obtener lo que comento arriba.)

 

mil gracias de antemano.

saludos..

 

2.- RLM 2.rar

publicado

Hola @Dr Hyde  me funciona bien, en la hoja uno voy a estar pegando los mismos datos pero de diferente tarea (trabajo) y en la hoja Tres llamo (B8) coloco el nombre de la tarea y le doy a la carita feliz y se me llena el reporte, donde me salen los datos repetidos y agrupados en algunos casos donde se  repite el # de certificado, después de eso con el botón que me generaste y las macros me queda perfecto, así como lo quería, para mi no es problema correr la carita feliz (paso1) y después el botón copiar (paso2) sin problema, lo único que no me jalan son los hipervinculos que se crean.

Con el botón de la carita feliz, si me funcionan los vínculos pero no todos, el detalle es que los nombres agrupados de los certificados, me salen todos en el nombre del PDF y por eso no abre.

tengo esta formula la pego en la columna J (link del certificado) 

=HIPERVINCULO("\\Sweco_nt\Certificados Calidad\"&IZQUIERDA(G19,5)&"\"&G19&".pdf")

y si me genera los vínculos y me los abre el detalle es que tengo que pegarla en la celda J19 y arrastrarla, de manera que pueda imprimirlos uno por uno o ver la manera de imprimirlos todos de un jalón y evitar los duplicados. gracias de antemano por tu apoyo.

publicado

cambia el modulo hacerlinks por esta nueva version, siento no poder mandarte el archivo cada que trato de subirlo me pone hay un problema con su archivo y cancela la carga, esta macro ya deja convertida la celda en links.

Sub hacerlinks()
Set Datos = Range("datos")
filas = Datos.Rows.Count
blancos = WorksheetFunction.CountBlank(Datos.Columns(1))
resta = filas - blancos
Set Datos = Datos.Resize(resta, Datos.Columns.Count)

For i = 1 To Datos.Rows.Count
    certificado = Datos.Cells(i, 7)
    certi = Split(certificado, "-")
    If certificado <> Empty Then
        With Datos.Cells(i, 10)
        .Formula = "=hyperlink(" & Datos.Cells(i, 10).Address & ")"
        .Value = "\\Sweco_nt\Certificados Calidad\" & certi(0) & "\" & certificado & ".pdf"
        End With
        
    End If
    
Next i
Datos.Columns(10).EntireColumn.AutoFit
Range("informacion").EntireColumn.Delete

End Sub
 

publicado

Buen día @Dr Hyde, estoy todavía revisando los datos y digiriendo la macro, solo estoy verificando que la separación de los datos este bien y que no tenga algún detalle.

publicado

Buena tarde, una disculpa he andado algo estresada estos días buscándole, ya verifique los datos generados por la macro y todo bien, esto no lo considere en mi consulta inicial, pero al analizar la información quería ver si una referencia indicada en la columna para las COLADAS de la  Hoja3 (como ejemplo, porque hay muchas celdas en en la misma situación de esta misma columna F) se pudiera eliminar la referencia repetida, no se si esto sea posible o que grado de dificultad tiene o se involucra, si no es posible bueno a ver como lo soluciono le he buscado muchas maneras pero me doy, ya no pude  y pues se que el foro es como apoyo o guía para hacer algunas cosas, y NO que ustedes nos hagan el trabajo, el trabajo es de uno y ustedes amablemente apartan tiempo para apoyarnos o ayudarnos en muchas de nuestras dudas, según lo consideren necesario, pero créanme que por mas que le busco no encuentro, no ando perdida pero si algo estresada. de hecho voy a trabajar en este archivo, ver si es posible que se me impriman (hipervinculos (los PDF's) de uno solo jalo y no uno por uno como hasta ahora y que no se impriman los repetidos.(bueno esto que pongo solo es un comentario, realmente la ayuda inicial cumplió su meta, el apoyo se me dio y le agradezco al @Dr Hyde por su valioso tiempo,y si se considera necesario abro otro tema para los puntos que mencione antes y ver si es posible lo que comente.

 

mil gracias.

2.- RLM rev 2.rar

publicado

la macro que ocupas es muy similar a la primera que te envie, ya la integre junto a la otra, tambien te crea una lista unica de documentos por imprimir partiendo de esa base, lo que restaria definir con que se abriran eso documentos si con Acrobat reader, foxitreader o bien directamente en algun navegador, el problema es que en ocasiones los comandos de Excel para controlar otras aplicaciones son ignorados por estas por no ser compatibles.

Copia de 2.- RLM 2 - copia.rar

publicado

Mil gracias  @Dr Hyde   por tu conocimiento, realmente es lo que buscaba, en la lista de impresión ahí esta el resultado, este tema realmente es un dolor de cabeza, pero con tu ayuda fue menos complicado,  solo para terminar con esto pido tu opinión, realmente me quedare con el código anterior, a menos que salvo tu mejor opinión tal vez cambie, pero no quiero darte mas lata, pero te comparto mi idea, después de realizar todo el proceso (Extraer datos con happy face + El botón de tu macro) puse una formula en la columna 0 donde me aparecen los hiperviculos creados, los cuales me abren con un solo clic, y no se tengo esta duda ¿es posible que desaparezcan los vinculos duplicados, sin eliminar fila?, lo se hacer de la manera tradicional, y con formato condicional etc. pero ¿existe la posibilidad de hacerlo con una macro y que solo aparezcan referencias únicas en esa misma columna O?, bueno realmente agradezco toda tu ayuda, sin ti no lo hubiera logrado, me interesa dar por solucionado ese tema, pero no sin antes tener tu opinión o si se puede hacer algo con las mismas macros que tenemos, marco con verde cuales serian los que se conservarían y con amarillo los que esperaría se eliminaran por duplicidad como ejemplo ya que pegue solo una partecita del archivo, ya que son como tres mil filas, y en algunos casos mas..

un abrazo y muchos saludos.

RLM 2 -2016 r02.xlsm

publicado

la ultima macro que te mande te crea en una hoja aparte un listado unicos de links

Sub lista_impresion()
Dim unicos As New Collection
Set Datos = Range("a18").CurrentRegion
Set Datos = Datos.Offset(1, 0).Resize(Datos.Rows.Count - 1, Datos.Columns.Count)

For Each link In Datos.Columns(10).Cells
    lin = link
    On Error Resume Next
        If lin <> "" Then unicos.Add lin, CStr(lin)
    On Error GoTo 0
Next link

On Error Resume Next
Sheets("lista impresion").Select

If Err.Number = 9 Then
    Sheets.Add
    ActiveSheet.Name = "lista impresion"
End If
On Error GoTo 0

Set enlaces = Range("c3").Resize(unicos.Count, 1)

a = 1
enlaces.Formula = "=hyperlink(" & enlaces.Cells(a, 1).Address & ")"

For Each link In unicos
    enlaces.Cells(a, 1) = link
a = a + 1
Next link

With enlaces.Cells(0, 1)
    .Value = unicos.Count & " documentos por imprimir"
    .Font.Bold = True
End With
End Sub

publicado

 @Dr Hyde  buenos días, una vez mas muchas gracias por tu gran pero gran ayuda,  realmente no hubiera logrado hacer lo que planeaba si no fuera por ti, le puse un botón a tu macro y me abre en otra hoja el listado único de documentos y ademas como un plus me indica la cantidad de documentos en-listados, realmente quedo mucho mejor de lo que esperaba o había visualizado, nuevamente muchas gracias y te pido disculpas por tardar en responder pero es que ando algo atareada con algunas cosas personales y otra es que me gusta esto de las macros y procuro poder entender lo mas que pueda, o por lo menos muero en el intento, ya que no se me da mucho, pero me gusta.

Se da por SOLUCIONADO este tema, no sin antes agradecerte a ti primeramente @Dr Hyde  y a este gran grupo, esta gran familia que ayuda a los mas necesitados de manera incondicional, te mando un beso con mucho respeto y muchas gracias,

bye.

Sabrina

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Vale mil gracias, en vdd se agradece todo el apoyo y comentarios
    • Hola nuevamente. Por eso la importancia de lo que mencionas tú como "ruta relativa". Tal cual comentas, y aún sin llegar a algunos detalles importantes para ayudarte, en realidad tal cual te comenté le día miércoles, pues sí podías hacer como comentabas, era cosa de obtener los Id de Windows (como tú los llamas) y la ruta de OneDrive en casa usuario y eso sí se puede obtener con VBA y luego pasarlo a PQ, pero medio que te cerraste en que "PQ no puede trabajar con rutas relativas", cosa cierta pero siempre hay formas. Si SAP puede o no guardar en OneDrive o SharePoint, pues si está mapeado en la PC ¡claro que se puede! Pero bueno, creo que si te es útil tu propia propuesta ¡avanza con eso!
    • Perdona @Abraham Valencia pero he estado liado estos días. En realidad todo el problema se reduce a estos dos problemas: Problema 1: El script que "fabrica" SAP y que luego "pego" en la macro, no es capaz de  guardar archivos en SharePoint. He estado buscando, y en realidad muchas personas tienen ese problema (no poder guardar un Excel en SAP a través de VBA). Eso muy probablemente sean problemas de permisos, que no puedo cambiar (no soy administrador de nada). Como no puedo solucionarlo así, paso al plan B, que es guardar en Excel que me genera SAP en el ordenador de cada usuario que ejecute la plantilla (y que sí está guardada en SharePoint), para después con PowerQuery llamar a ese Excel (el export). Para ello, pretendo guardar el export, en la ruta relativa "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" donde los \..\..\..\ saltan las rutas personales de cada usuario (tipo C:\users\IDusuario\). Eso lo hace bien, y el archivo se guarda en la ruta de cada usuario que lo usa, pero surge el problema 2 Problema 2: PowerQuery no trabaja con rutas relativas del tipo  "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" necesita que sea del tipo fija "C:\users\IDusuario\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" pero claro, IDusuario es diferente para cada usuario.   Pero escribiendo todo esto, creo que he dado con una posible solución, no grabar el export en una ruta de usuario, sino en una en la raiz de C:, que siempre será igual para todos los usuarios, del tipo C:\Sap\export.xlsx que seria igual en todos los ordenadores. Asi sí podría decirle a PowerQuery que vaya siempre a la ruta C:\Sap\ que existirá en todos los ordenadores. Mañana intentaré hacer pruebas, aunque mi solución ideal seria que se pudiera guardar en el SharePoint. Saludos.
    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.