¿Macro para copiar datos de una hoja a otra hoja?

Alguien me puede ayudar por favor

De la Hoja2 de mi archivo necesito pasar los datos de las columnas B4, M4, L4, N4, O4

(Pueden variar la cantidad de los datos) y se copien a la Hoja1 y si quiero copiar más datos a la hoja 1 se vayan pegando de bajo de los datos ya copiados,

Aquí esta el ejemplo:

https://github.com/angtor/nivel

Respuesta

Si va a incrementar más datos, conviene copiar toda la columna, ya que tendrías que tener un identificador de cuales serian datos nuevo. Más practico copiar toda la columna de datos.

Sub copiar_columnas()
    Dim nfila As Integer
    'Ubicación de la última con registro rango origen
    nfila = Sheets("Hoja2").Cells(Rows.Count, 2).End(xlUp).Row
    Sheets("Hoja2").Range("B4:B" & nfila).Copy
    'destino de la columna
    Sheets("Hoja1").Select
    Range("A3").Select 'posición inicial de la celda
    ActiveSheet.Paste
End Sub

¿

Así es con esta macro se puede pegar más datos de bajo de la que ya se copio?

¿Y si quiero mandar más columnas como le puedo hacer?

Repite el mismo procedimiento para las columnas o rangos correspondientes, en el ejemplo es para una columna, repítela, ya que el orden de las columnas es diferente.

Comentas

Franklin S. Cappa Ticona

¿Para poder copiar más información de bajo de la que ya copie?

Sub copiar_columnas()
    Dim nfila As Integer 
    'Ubicación de la última con registro rango origen
    nfila = Sheets("Hoja2").Cells(Rows.Count, 2).End(xlUp).Row
    Sheets("Hoja2").Range("B4:B" & nfila).Copy
    'destino de la columna
    Sheets("Hoja1").Select
    'agregar esta linea para ubicar en ultima fila de la hoja 1
    Dim xfila as integer
    xfila= Sheets("Hoja1").Cells(Rows.Count, 1).End(xlUp).Row
    Range("A" & xfila).Select 'posición inicial de la celda
    ActiveSheet.Paste
End Sub

Realizarías una pequeña modificación.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas