Copiar filas en una hoja nueva

26/02/2005 - 03:10 por Martin | Informe spam
Hola a todos. (perdon por el reposteo, me equivoque y se me paso hacer
hilo nuevo)

Queria saber si puedo hacer lo siguiente:
Tengo un libro con 4 hojas. Las hojas tienen identica estructura aunque
datos diferentes. Quiero hacer una hoja nueva que tenga las filas de las
otras cuatro ordenadas de modo que la primera fila sea la primera de la
primera hoja, la segunda la primera de la segunda hoja, la tercera la
primera de la tercera hoja y la cuarta la primera de la cuarta hoja. Es
decir, una tabla que reuna todas las filas pero ordenadas por la primera
columna de cada hoja (es una fecha). No tengo problema para hacerlo con
la primera fila mediante esta macro que encontre, pero solo me extrae la
primera fila, ¨como se puede repetir para todas?


Sub Test4()
Dim sh As Worksheet
Dim DestSh As Worksheet
Dim Last As Long



On Error Resume Next
If Len(ThisWorkbook.Worksheets.Item("Master").Name) = 0 Then
On Error GoTo 0
Application.ScreenUpdating = False
Set DestSh = Worksheets.Add
DestSh.Name = "Master"
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> DestSh.Name Then
Last = LastRow(DestSh)



sh.Rows("3").Copy DestSh.Cells(Last + 1, "A")
End If
Next
Cells(1).Select
Application.ScreenUpdating = True
Else
MsgBox "The sheet Master already exist"
End If
End Sub

La funcion LastRow es:

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Lo que quiero es esto pero para la totalidad de las hojas.


Gracias de antemano. Perdon por lo extenso.


Salu2. Martin
 

Preguntas similares