Macro de Excel, que permita copiar datos de varias hojas a una sola
Necesito ayuda con macro que permita copiar varios datos de diferentes hojas a una sola hoja. Tengo un libro con varias hojas llenas de datos, pero solo quiero copiar los valores ubicados en unas celdas determinadas, que en este caso seria A2, B2 y C2; además si la celda C3 tiene valor también copiarlo en la siguiente fila, es decir, los datos deben quedar de la siguiente forma:
n1 ; n2 ; n3 - "Encabezado de la tabla"
A2 ; B2 ; C2 - "Datos de la Hoja 1"
A2 ; B2 ; C3 - "Datos de la Hoja 1, ya que C3 no esta vacío"
A2 ; B2 ; C2 - "Datos la Hoja 2"
Hasta ahora pensé que lo tenia resuelto utilizando esta macro, pero solo llena los encabezados, no se donde está el error, o si existe una forma mas sencilla de hacerlos. Así que agradezco la ayuda que me puedan dar. Voy a dejar un archivo de ejemplo, por si no entienden.
Sub ExtDatos() Dim i As Long Dim BuscarHoja As Boolean On Error Resume Next BuscarHoja = (Worksheets("Datos").Name <> "") If BuscarHoja = False Then Sheets.Add before:=Sheets(1) End If ActiveSheet.Name = "Datos" Sheets("Datos").Activate Sheets("Datos").Cells.Select Selection.ClearContents Sheets("Datos").Range("A1").Value = "n1" Sheets("Datos").Range("B1").Value = "n2" Sheets("Datos").Range("C1").Value = "n3" For i = 2 To Sheets.Count Sheets("Datos").Range("A1").End(xlDown).Offset(1, 0).Value = Sheets(i).Range("A2").Value Sheets("Datos").Range("A1").End(xlDown).Offset(0, 1).Value = Sheets(i).Range("B2").Value Sheets("Datos").Range("A1").End(xlDown).Offset(0, 2).Value = Sheets(i).Range("C2").Value If Sheets(i).Range("C3").Value > 0 Then Sheets("Datos").Range("A1").End(xlDown).Offset(1, 0).Value = Sheets(i).Range("A2").Value Sheets("Datos").Range("A1").End(xlDown).Offset(0, 1).Value = Sheets(i).Range("B2").Value Sheets("Datos").Range("A1").End(xlDown).Offset(0, 2).Value = Sheets(i).Range("C3").Value End If Next i End Sub