Copiar celdas de un rango y pegarlas separadamente

Tengo un rango de datos en A1:A10 y lo que quiero es que de alguna manera mediante VBA pueda recorrer cada celda de ese rango e irla pegando una por una en la columna B cada 10 espacios es decir A1 copiarla y pegarla en B1, A2 en B10, A3 en B20 y así sucesivamente, creo que con un Loop podría funcionar.

Respuesta
1

Soy nuevo en esto pero asi me quedo:

Range("a1").Select
f_ini = ActiveCell.Row 'toma el valor de la fila inicial
c_ini = ActiveCell.Column 'toma el valor de la columna inicial
f_fin = Cells(Rows.Count, 1).End(xlUp).Row ' encuentra la ultima fila con dato de a1
c_fin = Cells(1, Cells.Columns.Count).End(xlToLeft).Column 'encuntra la ultima columna con dato
c_fin = c_fin + 1 ' se recorre una columna
n1 = 10 'numero de filas que van a haber entre cada celda a pegar

For i = f_ini To f_fin

Cells(i, c_ini).Select '
ActiveCell.Select '
Selection.Copy 'selecciona y copia la celda
Cells(n1, c_fin).Select '
ActiveSheet.Paste 'selecciona la celda a pegar
n1 = n1 + 10 'aumenta el numero de filas donde se va a pegar

Next i

End sub

1 respuesta más de otro experto

Respuesta
1

Te anexo la macro. Te comento que en tu ejemplo pusiste: "A1 copiarla y pegarla en B1, A2 en B10, A3 en B20"

En realidad de B1 a B10 hay 9 espacios y de B10 a B20 hay 10 espacios, entonces si quieres una separación de 10 espacios, A2 en B11 y A3 en B21.

Si es correcto mi comentario, aplica la siguiente macro:

Sub CopiarCadaDiez()
'Por.Dante Amor
    j = 1
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        Cells(j, "B") = Cells(i, "A")
        j = j + 10
    Next
End Sub

Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Para ejecutarla presiona F5

Saludos. Dante Amor

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas