Re organizar valores de filas en columnas

Tengo una base de datos organizada de esta manera:

Necesitaría que se extraigan los datos de las columnas H, I, J y K y se ordenen de la siguiente manera.

Agregar la columna de pendientes seria un agregado que me vendría al pelo. Tal vez lo mejor sea crear una macro porque sera una herramienta de uso habitual. Pero espero opciones!

Ojala puedan darme una mano!

1 respuesta

Respuesta
1

Aquí se necesita una macro considerando que hay que insertar filas y transponer datos.

¿Podrías enviarme una hoja de ejemplo así me evito el tiempo de armar una tabla? Mis correos aparecen en el sitio que dejo al pie (o dejame un correo tuyo y te la solicito).

Esta es la macro que necesitas. Como no me enviaste muestra lo que hace es copiar las celdas desde A:G y las pega en fila nueva... no sé si las celdas tienen fórmulas o no.

Sub armaTablaDias()
'x Elsamatilde
'se recorre la col A de hoja activa hasta el fin de datos
[A2].Select
'se evita el movimiento del recorrido de celdas
Application.ScreenUpdating = False
While ActiveCell <> ""
'se mira si hay más datos a partir de col I
If Range("I" & ActiveCell.Row) <> "" Then
    'se repite el siguiente bucle hasta encontrar una col vacía
    filx = ActiveCell.Row: j = filx
    colx = Range("H" & filx).End(xlToRight).Column
    For I = 9 To colx
        'se inserta una fila
        Cells(j + 1, 1).EntireRow.Insert
        'pase de datos de la fila anterior
        j = j + 1
        Range("A" & j - 1 & ":G" & j - 1).Copy Destination:=Range("A" & j)
        'pase de la fecha
        Cells(j, 8) = Cells(filx, I)
    Next I
    Cells(j, 1).Select
End If
'se pasa al registro siguiente y se repite el bucle
ActiveCell.Offset(1, 0).Select
Wend
'se limpian las col desde I hasta el final
If colx > 7 Then [I1].Resize(1, colx - 7).EntireColumn.ClearContents
[A1].Select
End Sub

Si la copia debe cumplir ciertos requisitos (formulas o no, valores a modificar como en pendientes -no comprendí ese punto) por favor deja una nueva consulta en el tablón una vez finalizada ésta. Indica en el cuerpo del mensaje que es Para Elsa así la continuamos.

¡Gracias! Elsa. Te envié el correo que me pediste. La macro funciona pero habría que afinar detalles. Muchas gracias por la ayuda!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas