Unir datos de 2 o más columnas

Necesito hacer una macro para unir datos de 2 o más columnas en una sola, pero debería hacerlo uniendo las columnas y no celda por celda ya que se hace muy lento. Por ej si en una columna esta el "nombre" y en otra el "apellido" que quede "nombre apellido".

1 Respuesta

Respuesta
1

H o l a:

Con la siguiente macro te junta la columna A y B en la columna C. No lo hace celda por celda.

Sub UnirColumnas()
'Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    With Range("C1:C" & u)
        .Formula = "=A1&"" ""&B1"
        .Value = .Value
    End With
End Sub

Si requieres más columnas, por ejemplo, de la  A a la E, y el resultado en la F:

Sub UnirColumnas()
'Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    With Range("F1:F" & u)
        .Formula = "=A1&"" ""&B1&"" ""&C1&"" ""&D1&"" ""&E1"
        .Value = .Value
    End With
End Sub

Ok!... buenísimo... el tema es que te di mal el ejemplo, en realidad las columnas a juntar tienen estos datos: "089291020" y "01" = "08929102001"...

Necesitaría darle el formato de texto a este numero para que no me quite el 0 (cero) de adelante. ¿Cómo le agrego el formato?

Te anexo la macro actualizada

Sub UnirColumnas2()
'Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    With Range("C1:C" & u)
        .Formula = "=text(A1,""000000000"")&"" ""&text(B1,""00"")"
        .Value = .Value
    End With
End Sub

R ecuerda valorar la respuesta. G r a c i a s

Hola, no me esta funcionando el tema del 0 adelante... no lo deja... te aclaro que tengo excel para mac... sabes que puede pasar?

Por ahí hubieras empezado, el vba de office no es igual al vba de mac, tendrás que buscar el código para mac, no lo puedo probar ya que no tengo mac.

Lo que se me ocurre es que primero rellenes con ceros las celdas y después ejecutes mi macro, la macro original funciona bien, solamente arregla tus datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas