¿Cómo concatenar una cadena a todas las celdas de una columna (en el lugar)?

¿Cómo concatenar una cadena a todas las celdas de una columna (en el lugar)?

Simplemente quiero agregar algo de texto a todas las celdas de una columna, pero me gustaría hacerlo en el lugar. es decir, actualice la misma columna con los nuevos valores.

Por ejemplo, si tengo una columna:

A
a
b

Quiero tener:

A
un nuevo
b nuevo

Sé que puedo hacerlo =A1&" new"en la primera celda de B y arrastrar (luego anular la columna A con los valores generados en la columna B). Pero como dije, estoy buscando unen su lugarsolución que no utiliza una columna auxiliar y simplemente actualiza la columna A.

Preferiblemente buscar una solución sin VBA, pero eso también sería aceptado.

Respuesta1

La solución más sencilla sería crear una nueva columna con su fórmula =A1&" new"y copiarla y pegarla sobre la columna anterior. Puede utilizar Pegado especial de Valores para no sobrescribir fórmulas.

La solución compleja sería utilizar una macro VBA como esta:

Sub AppendToExistingOnLeft()
Dim c As Range
For Each c In Selection
  If c.Value <> "" Then c.Value = c.Value & " new"
Next
End Sub

Este VBA se puede utilizar así:

  1. Seleccione el rango

  2. Mantenga presionado Alt+ F11para abrir una ventana de Microsoft Visual Basic.

  3. Hacer clicInsertar > Móduloy pegue el código VBA anterior en la ventana del Módulo

  4. Presione la tecla F5 para ejecutar esta macro.

información relacionada