Macro para Colocar Varias Columnas en una sola

Estoy intentando lo siguiente:

Quiero pasar datos de varias columnas en una sola pero no logro hacerlo alguien puede ayudarme?

Sub Macro2()
'
' Macro2 Macro
Dim Contar1 As Double, Contar2 As Double, Contar3 As Double
Contar1 = Range("A1103").Value
Contar1 = Contar1
'-------------------------
Contar2 = Range("B1103").Value
Contar2 = Contar2
'-----------
Contar3 = Range("C1103").Value

Contar3 = Contar3
'-----------
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("U2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'------------------
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("U2").Select
Cells(Contar1, 21).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'-----------------
Range("C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Cells(Contar2, 21).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'-----------------
End Sub

1 respuesta

Respuesta
1

Primero debieras aclararme qué contienen las celdas A1103 y B1103 que guardas en una variable.

De paso x favor retira estas líneas totalmente innecesarias: Contar1 = Contar1 (en los 3 casos).

Lo ideal sería que se tome el rango hasta la última celda con datos de cada col, salvo que en esas celdas de fila 1103 indicas cuál deber ser considerada como última fila a copiar.

Quedo atenta a tus aclaraciones.

Gracias por la pronta respuesta, en esas celdas tengo la siguiente formula:

=CONTAR.SI(A2:A1101,"*|")

Así te quedaría la macro para juntar las 3 col en 1 sola, a partir de U2:

Sub Macro2()
'x Elsamatilde
'------------------
'copia col A y la ubica a partir de U2
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("U2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'------------------
'copia col B y la ubica a continuación de la última utilizada
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("U" & Range("U65536").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'-----------------
'copia col C y la ubica a continuación de la última utilizada
Range("C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("U" & Range("U65536").End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'-----------------
Application.CutCopyMode = False
End Sub

No necesito los valores de las fórmulas que están en fila 1103, así que si solo están para esta macro, podes borrarlas.

Sdos y no olvides finalizar si el tema queda resuelto.

Excelente Elsa, eres un capo en este tema muchas gracias nuevamente, es una solución mas simple y sencilla a la que tenia pensado hacer, nuevamente gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas