Jump to content
vinzent

Consolidar informacion, excluyendo algunos que no deben ser considerados

Recommended Posts

Hola nuevamente a todos, estoy requiriendo de su ayuda para terminar una macro:
Tengo la pestaña "Datos" en ella hay informacion de cada material, necesito consolidar de los datos  a otra pestaña que he nombrado Original, pero tengo dos dificultades para mi:

1.- Los materiales deben de ir de manera horizontal (parecido a la funcion transponer)

2.- Las filas que tienen en la columna "No Cuenta" no son consideradas al momento de pasar la informacion.

He adjuntado un ejemplo del archivo y en la pestaña "Como debe de quedar" esta el ejemplo cuando lo hago de manera manual
Cualquier ayuda proporcionada sera bienvenida. Mil Gracias

Ejemplo.zip

Share this post


Link to post
Share on other sites
Hace 6 horas, vinzent dijo:

Muchas Gracias @Antoni!! como siempre me has ayudado a mi problema.

Veo que solo consolida lo que encuentra de la pestaña datos, pero en la pestaña original hay mas informacion aparte de DATOS1, DATOS2, etc, por ejemplo DATOS10, y que no cuentan con informacion, se puede modificar para que en vez de borrarlos no los considere?

Share this post


Link to post
Share on other sites

Adjunto el archivo de ejemplo un poco mas detallado, una disculpa si me logre explicar bien:
La pestaña Original trae información en las columnas C1, C2,C3, etc. los borre para que no pesara mucho el archivo.

1er caso:  DATOX, DATO Y, DATO Z no tiene informacion,  se queda en blanco.

2do caso: DATO 1 a DATO8 se consolida la informacion de la hoja Datos hacia la derecha, al estilo transponer, no considerando los datos que tengan en la columna L ¨No Cuenta¨

3er caso DATO 9 tiene la primer fila una columna ¨No Cuenta¨ esa no se incluye, pero tiene otras que si necesito agregarlas.

Muchas gracias

Copia de Ejemplo.xlsx

Share this post


Link to post
Share on other sites

Para poder cerrar el tema, esta es la macro funcionando, por si alguien mas lo necesita:
 

Sub vinzent()
    Dim Rng As Range, Cl As Range, Dest As Range
    Dim Ows As Worksheet
    Dim i As Long

    Set Ows = Sheets("Original")
   
    Set celda = Sheets("Datos").Range("B2")
    
    Do While celda.Value <> Empty And celda.Offset(0, -1).Value <> Empty
        i = 31
        Set celda2 = celda
        cont = 0
        Do While celda2.Offset(1, -1).Value = Empty And celda2.Offset(1, 1).Value <> Empty
            cont = cont + 1
            Set sig2 = celda2.Offset(1, 0)
            Set celda2 = sig2
        Loop
        Set sig = celda.Offset(cont + 1, 0)
        Set Rng = Range("A" & celda.Row & ":A" & cont + celda.Row)
        Set Dest = Ows.Range("T:T").Find(Rng(1).Value, , , xlWhole, , , False, , False)
        If Dest Is Nothing Then
            Set Dest = Ows.Range("T" & Rows.Count).End(xlUp).Offset(1)
            Dest.Value = Rng(1).Value
        End If
        For Each Cl In Rng
             If Cl.Offset(, 11) <> "No cuenta" Then
                Cl.Offset(, 1).Resize(, 5).Copy Dest.Offset(, i)
                i = i + 5
            End If
        Next Cl
        Set celda = sig
     
    Loop
    
    MsgBox "Por favor revisar..."

End Sub

Saludos

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy