Jump to content
lphant

Rellenar hoja desde otra hoja

Recommended Posts

Buenas tardes;

Quien me puede ayudar??, no sé ni por donde comenzar.

Voy a intentar explicaros lo que intento hacer.

En la pestaña “Hoja1” quiero tener una especie de resumen de lo cubierto y la situación ordenado por estado.

En la pestaña “Hoja2” estará la base de datos de dónde coger la información.

El funcionamiento que quiero si se puede seria el siguiente:

Buscar el código marcado en amarillo de la “Hoja1” en la base de datos e ir rellenado en horizontal todo lo que se encuentre de ese código en la “Hoja2” colocándolos por orden descenciente ( la situación siempre comenzara por un numero).

Una vez relleno para volver a actualizar, tener la posibilidad de borrar todas las celdas que no tengan la situación “3-nico”.

Gracias de antemano.

Libro1.xls

Share this post


Link to post
Share on other sites

Buenos días [email protected];

Que tal lo lleváis??.

yo sigo liado intentando hacer lo que os comente sin éxito.

No se cómo hacer para se pongan todos los datos que se encuentren de un código de la hoja 2 en la hoja1 en horizontal.

No se os ocurre nada??.

Muchas gracias de antemano.

Share this post


Link to post
Share on other sites

Saludos.

Prueba con la siguiente macro.

Sub prueba()
Dim i, finH1, finH2 As Integer
Application.ScreenUpdating = False
With Sheets("Hoja2")
    finH2 = .Range("A60000").End(xlUp).Row
    .Range("D2").Value = 1
    .Range("D2").AutoFill Destination:=.Range("D2:D" & finH2), Type:=xlFillSeries
With Sheets("Hoja1")
    finH1 = .Range("A60000").End(xlUp).Row
    For i = 3 To finH1
        If Not IsEmpty(.Cells(i, 1)) And IsNumeric(.Cells(i, 1)) Then
            With Sheets("Hoja2")
                .Range("A1:D" & finH2).AutoFilter Field:=1, Criteria1:=Cells(i, 1)
                .AutoFilter.Sort.SortFields.Add Key:=.Range( _
                "C2:C" & finH2), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
                xlSortNormal
                .AutoFilter.Sort.Apply
                If .Range("A60000").End(xlUp).Row > 1 Then
                    .Range("B2:C" & finH2).SpecialCells(xlCellTypeVisible).Copy
                    Sheets("Hoja1").Cells(i + 1, 2).PasteSpecial Paste:=xlValues, Transpose:=True
                    Application.CutCopyMode = False
                End If
                .ShowAllData
            End With
        End If
    Next i
End With
.AutoFilter.Sort.SortFields.Add Key:=.Range( _
"D2:D" & finH2), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
.AutoFilter.Sort.Apply
.Range("D2:D" & finH2).Clear
.Range("A1:D" & finH2).AutoFilter
Sheets("Hoja1").Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub

Atte.

joshua

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


CTA Templates.png