Excel -copiar de varias columnas a una sola como valores

He seguido tu macro para copiar información de varias columnas a una sola. Sin embargo, en mi caso, las columnas a copiar contienen formulas y la información en la columna Z copia las fórmulas en lugar de los valores. ¿Podrías decirme qué variación necesita el código para conseguir que se copien los valores en lugar de las fórmulas? Muchas gracias de antemano y que tengas buen día!

1 Respuesta

Respuesta
1

Te anexo la macro actualizada. Cada que la ejecutes, primero te limpiará la columna destino

Sub unir_columnas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    ci = Columns("C").Column 'columna inicial a unir
    cf = Columns("O").Column 'columna final a unir
    cd = Columns("Z").Column 'columna unión
    f = 1 'fila inicial de datos
    Columns(cd).ClearContents
    For i = ci To cf
        uf = Cells(Rows.Count, i).End(xlUp).Row
        ud = Cells(Rows.Count, cd).End(xlUp).Row + 1
        Range(Cells(f, i), Cells(uf, i)).Copy
        Cells(ud, cd).PasteSpecial xlValues
    Next
    Application.ScreenUpdating = True
    MsgBox "Fin Unir Columnas"
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Genial! Funciona!

Sin embargo en mi caso no tengo la misma cantidad de filas con información en cada columna a unir... ¿podría la macro reconocer que una vez que encuentra una celda vacía debe cambiar de columna? De esa forma en mi columna final no aparecerían celdas vacías entre otras con información... Muchísimas gracias de antemano por tu ayuda. Saludos!

La macro reconoce la última fila con datos de cada columna:

uf = Cells(Rows.Count, i).End(xlUp).Row

uf = última fila, obtiene la última fila con datos de la columna según el contador i.

El contador i está en el ciclo para cada una de las columnas que pusiste en el rango de columna inicial (ci) a columna final (cf).

Si te pone espacios entre la información de una columna y otra columna, es porque debes tener celdas con caracteres en blanco. Revisa el final de cada columna que no tenga espacios en blanco.

Espacios en blanco es diferente a vacía. Las celdas deberán estar vacías.

Tienes razón, las celdas no estaban vacías sino que el resultado de la fórmula es blanco :-)

Muchas gracias de nuevo. Que tengas buen día. Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas