Copiar datos de una hoja a otra

Tengo tres hojas (A, B, C)
En la hoja A y B
Voy a empezar a colocar datos desde la celda a1 y quiero que me me salgan en la hoja C.
Ejemplo:
Hoja A
Celda a1 pongo "hola"
Hoja B
Celda a1 pongo "chau"
En la hoja C quiero que salga
Celda a1 "hola"
celda a2 "chau"
Y que en la celda a3 salga lo que yo escriba en la celda a2 de las hoja A y B y así sucesivamente.
Gracias

1 respuesta

Respuesta
1
Bueno tienes varias maneras de hacerlo. Una es escribiendo en la celda A1, A2, A3... de la hoja 3
=HojaA!A1
=HojaB!A1
=HojaA!A2
=HojaB!A2
Y así sucedivamente. El problema es que Excel puede que no se dé cuenta de la serie y tengas que ir uno a uno, y no te valga arrastrar. Estoy casi seguro que se puede usar alguna fórmula también para reflejar la serie, pero he hecho un pequeño código, una macro que lo hace.
Sub textcopia()
Call CopiaAlternos("Sheet2", "Sheet3", "Sheet4")
End Sub
La macro a ejecutar en mi caso se llama copia alternos y los nombres de las hojas están en inglés. Tendrás que cambiarlos por "A", "B", "C" o los que tengas. Además todos los rangos usados empiezan en A1.
Sub CopiaAlternos(hoja1 As String, hoja2 As String, hoja3 As String)
'el rango siempre es desde A1 hasta el final
Dim i As Integer
Dim maxi As Integer
Dim r1 As Range
Dim r2 As Range
With Worksheets(hoja1)
    maxi = .Range("a1", .Range("a1").End(xlDown)).Rows.Count
End With
Set r1 = Worksheets(hoja1).Range("a1:a" & maxi)
Set r2 = Worksheets(hoja2).Range("a1:a" & maxi)
i = 1
With Worksheets(hoja3)
    For i = 1 To maxi
        .Range("a" & 2 * i - 1) = r1.Range("a" & i)
        .Range("a" & 2 * i) = r2.Range("a" & i)
    Next i
End With
End Sub
La verdad no entendí nada je je, si podes mandarme un ejemplo a mi mail te agradezco.
[email protected].
Saludos
Ya te lo he enviado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas