Saltar al contenido

darkyto

Miembro
  • Contador de contenido

    22
  • Unido

  • Última visita

  • Días con premio

    1
  • País

    España

darkyto ganó el día el 12 de junio 2024

darkyto had the most liked content!

Configuraciones

  • Campo que utilizas como separador de argumentos
    ;
  • Mi versión de Excel:
    0

Visitantes recientes del perfil

El bloque de últimos visitantes está desactivado y no se puede mostrar a otros usuarios.

darkyto's Achievements

Principiante

Principiante (2/14)

  • + de 1 mes
  • + de 1 semana
  • 7 días seguidos
  • 10 comentarios
  • + 5 reacciones

Insignias recientes

1

Reputación de la comunidad

  1. Buenas necesitaría fusionar varias hojas cuyo nombre empiece por Seguimiento_ (sin fusionar las que estén ocultas aunque empiecen por ese nombre) y mostrar el resultado en una hoja que se llame Seguimiento_Anual, necesitaría que se ordenaran por la columna Cliente (de forma ascendente), por la columna Persona (de forma ascendente), por la columna Estado empezando por Enero, Febrero, Marzo y asi sucesivamente y por la columna Planificado (empezando por PLANIFICADO_Q1 y asi sucesivamente hasta el PLANIFICADOQ4. En caso de que ya exista la hoja Seguimiento_Anual que se actualicen los datos de esa hoja o bien se borre y se vuelva a crear. Gracias un saludo. Hay ya macros creadas pero la de CombinarHojas es la que no funciona correctamente, adjunto una captura de como tendria que verse con los filtros aplicados en este caso puse un ejemplo con una hoja de seguimiento. Todas las hojas de seguimiento son iguales pero por trimestre cambian los meses de estado(3 meses por hoja de seguimiento) y planificado (Cambia de PLANIFICADOQ1 a Q2 y asi hasta el 4). Intente subir el excel pero pesa mas de 100 kb y por mucho que quite no consigo que llegue a ese peso. Pego aqui la macro que tengo en este momento: Sub CombinarHojas() Dim ws As Worksheet Dim wsDestino As Worksheet Dim lastRow As Long Dim rowCount As Long Dim header As Boolean Dim rng As Range Dim i As Long ' Eliminar hoja "Seguimiento_Anual" si ya existe On Error Resume Next Application.DisplayAlerts = False Sheets("Seguimiento_Anual").Delete Application.DisplayAlerts = True On Error GoTo 0 ' Crear una nueva hoja para combinar los datos Set wsDestino = ThisWorkbook.Sheets.Add wsDestino.Name = "Seguimiento_Anual" rowCount = 1 header = True ' Para copiar encabezados solo de la primera hoja ' Recorrer todas las hojas del libro For Each ws In ThisWorkbook.Worksheets ' Verificar si la hoja está visible y su nombre comienza con "Seguimiento_" If ws.Visible = xlSheetVisible And Left(ws.Name, 12) = "Seguimiento_" Then ' Encontrar la última fila con datos en la hoja lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row If header Then ' Copiar encabezado y los datos (desde la fila 1 para la primera hoja) ws.Rows("1:" & lastRow).Copy Destination:=wsDestino.Cells(rowCount, 1) header = False Else ' Copiar solo los datos omitiendo la fila 1 (encabezado) ws.Rows("2:" & lastRow).Copy Destination:=wsDestino.Cells(rowCount, 1) End If ' Actualizar el número de filas en la hoja de destino rowCount = wsDestino.Cells(wsDestino.Rows.Count, "A").End(xlUp).Row + 1 End If Next ws ' Recalcular la última fila en la hoja de destino lastRow = wsDestino.Cells(wsDestino.Rows.Count, "A").End(xlUp).Row ' Eliminar filas donde las columnas C, D, E, F y G estén vacías For i = lastRow To 2 Step -1 ' Comenzar desde la última fila hacia arriba If Application.WorksheetFunction.CountA(wsDestino.Cells(i, 3).Resize(1, 5)) = 0 Then wsDestino.Rows(i).Delete End If Next i ' Recalcular la última fila después de eliminar las filas vacías lastRow = wsDestino.Cells(wsDestino.Rows.Count, "A").End(xlUp).Row ' Establecer el rango para la ordenación Set rng = wsDestino.Range("A1:G" & lastRow) ' Ordenar los datos por las columnas A y B de manera ascendente wsDestino.Sort.SortFields.Clear wsDestino.Sort.SortFields.Add Key:=wsDestino.Range("A2:A" & lastRow), Order:=xlAscending wsDestino.Sort.SortFields.Add Key:=wsDestino.Range("B2:B" & lastRow), Order:=xlAscending ' Ordenar la columna E por meses en orden personalizado With wsDestino.Sort .SortFields.Add Key:=wsDestino.Range("E2:E" & lastRow), _ SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="Enero24,Febrero24,Marzo24,Abril24,Mayo24,Junio24,Julio24,Agosto24,Septiembre24,Octubre24,Noviembre24,Diciembre24" End With ' Ordenar la columna F por cuatrimestres en orden personalizado With wsDestino.Sort .SortFields.Add Key:=wsDestino.Range("F2:F" & lastRow), _ SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="PLANIFICADOQ1_2024,PLANIFICADOQ2_2024,PLANIFICADOQ3_2024,PLANIFICADOQ4_2024" End With ' Aplicar la ordenación With wsDestino.Sort .SetRange rng .header = xlYes .Apply End With End Sub
  2. Buenos dias, Necesitaría una macro que cogiera unos datos específicos del Excel de TS proyecto testing en las hojas de Enero 24, Febrero 24, Marzo 24 y Abril 24. Seria coger de esas hojas en la columna B el dato que hay en negrita el cual en el excel de plantilla seguimiento seria la columna cliente y los datos de abajo serian las personas asociadas a ese cliente en la columna persona del Excel plantilla seguimiento. Asi sucesivamente con los datos de la columna B del excel de TS. Eso es un ejemplo de los datos que recoge de una y los muestra en la otra. Me solicitan que coja el dato de cliente y de persona del Excel TS y lo inserte en el Excel de Plantilla duplicado 5 veces por cada persona. Los archivos están alojados en one Drive y no se bien como establecer el path para esos archivos. La imagen se ve bastante mal, porque no me dejaba subir con mas calidad pero dentro de plantilla seguimiento puse un ejemplo de lo que tendria que ir mostrando los marque por colores. Gracias un saludo. Plantilla Seguimiento - Prueba.xlsm TS Proyecto Testing 2024.xlsx
  3. No me permiten instalar addon en Excel, retomando el tema de la macro trate de crear botones dentro de las hojas, también intente adaptar la macro para que cuando se crease la hoja seguimiento anual siempre la mostrara al final y quisiera que en la columna estado mostrara primero los planificados y luego los meses en orden, pero no se que he tocado que en seguimiento anual me duplica el boton cada vez que hago el proceso y no funciona bien la macro. Te adjunto el archivo modificado por si a ti se te ocurre algo. Organización Formaciones Centro VBA.xlsm
  4. Esta opción me encanta se ve mucho más profesional, ¿es muy difícil de hacer?
  5. Perdona JSD ¿para crear el botón también en las otras hojas como sería?
  6. Una duda JSD como funciona el botón consolidar trato de darle pero no funciona. Tengo que ejecutarla con Alt+ F8. ¿Podría ser el botón en vez de consolidar, tener el nombre actualizar y que estuviera en cada hoja? Para en caso de que no estuviera la hoja de seguimiento anual la crease y si ya estuviera creada la actualizase. ¿Y como podría mover el botón? Gracias un saludo.
  7. Buenas necesitaria poder fusionar 3 hojas de excel, en las cuales el titulo sea "Seguimiento_" seguido del texto que sea. Intente hacerlo con una macro pero solo consigo que fusione 2 de las 3 hojas. Necesitaría que en la hoja fusionada se ordenasen por la columna cliente y persona de a la a la z. En la hoja de seguimiento anual dejo un ejemplo con una de las personas y la explicación de lo que necesitaría, no se si seria posible probé con varias macros y nada. Muchas gracias un saludo. Organización Formaciones Centro.xlsx
×
×
  • 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.