Necesito copiar los datos de la columna B, C, D etc en la columna A de forma secuencial

Estoy trabajando con una base de datos de >1000 empresas, la cual cada columna representa los datos de una empresa (con 150 filas de datos por empresa). El planteamiento que les hago es como hacer una macro que me permita pegar los datos de las columnas B, C, D, etc en la columna A, de modo que cuando se termine los datos de la empresa A (en la fila 150) empiece en la fila 151 lo de la empresa B y así hasta la ultima empresa.

1 respuesta

Respuesta
1

ok veamos...

Inserta un modulo en tu proyecto y en el pones este macro.

Option Explicit

Sub copiar_secuencia()

Dim r As Range

Dim c As integer

Dim i As integer

Dim fila As Long

For i = 2 To 4

c = i

Set r = Range(Range(Cells(1, c).Address, Cells(150, c).Address).Address)

For Each r In r

fila = Application.WorksheetFunction.CountA(Range("A:A")) + 1

Range("A" & fila) = r

DoEvents

Next

Set r = Nothing

DoEvents

Next

Set r = Nothing

MsgBox "Terminado", vbInformation

Bien.. luego grabas y ya... corres el macro.. cuyo nombre es "copiar_secuencua"

Esta diseñado según tus especificaciones para recorrer las 150 filas de cada columna desde la B a la D... para ampliar hasta donde debe llegar amplia el rango del primer bucle For i = 2 To 4 si necesitas que recorra mas alla de la D cambia el 4 por el numero deseado de columna

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas