Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cómo expresar un cambio de línea al CONCATENAR

22,483 views
Skip to first unread message

Alex

unread,
Mar 30, 2009, 12:19:41 PM3/30/09
to
¿Puedo hacer que Excel añada un cambio de línea (Alt-Enter), entre un elemento y otro, al concatenarlos?
 
Lo que quiero es un cambio de renglón, entre un valor y otro. Por ahora, lo más que puedo es insertar un espacio, un determinado texto, pero cómo insertar un line break? (¶)
 
La respuesta me serviría si quisiera además, hacer un Buscar y Sustituir, cualquier cosa por un cambio de línea. Se puede???
 
Gracias

Alex.

Gabriela

unread,
Mar 30, 2009, 2:05:39 PM3/30/09
to


Hola Alex,

La función CAR() devuelve el carácter especificado por el número del
código ASCII

Para el avance de línea el código es 10

CAR(10) da un salto de linea

puedes ver un ejemplo aquí http://office.microsoft.com/es-hn/excel/HP011436723082.aspx

Saludos

Gabriela

http://excel.gabrielacerra.com

Alex

unread,
Mar 30, 2009, 2:50:01 PM3/30/09
to
Gabriela:

Muchísimas gracias. Funcionó, pero con CAR(10), sino con CARACTER(10)

Por qué será??

Aprovecho para preguntar también si esto sirve para dar formato a la
typografía del dato concatenado. Por ejemplo, si concateno 3 columnas, y el
dato de en medio lo quiero en negritas. Cómo le hago?

Gracias de nuevo!

Alex.


"Gabriela" <gaby...@gmail.com> escribió en el mensaje
news:38a57b78-7bb8-4b3d...@y9g2000yqg.googlegroups.com...

Gabriela

unread,
Mar 30, 2009, 3:46:52 PM3/30/09
to
Hola Alex

> Muchísimas gracias. Funcionó, pero con CAR(10), sino con CARACTER(10)
> Por qué será??

La verdad no se, estoy mas acostumbrada a usar la versión en Inglés de
Excel que la versión en Español, noté la incosistencia en el sitio de
Microsoft cuando busque la referencia. En inglés la función es CHAR
(10)

> dato de en medio lo quiero en negritas. Cómo le hago?

No es posible darle diferentes tipos de formato al resultado de una
fórmula. Cualquier formato que se quiera aplicar será a todo el
resultado de la fórmula.

Saludos

Gabriela

esperan...@gmail.com

unread,
May 4, 2013, 12:27:37 PM5/4/13
to
Estoy concatenando más de 20 campos en uno solo, entre cada encadenamiento estoy utilizando la función car(10) para saltar una línea para ordenar la información.
El problema es que hay campos continuos sin contenido y en el encadenamiento quedan muchos saltos de línea entre los contenidos.
Pregunta: Como puedo eliminar los saltos de línea que no necesito?

Gracias.

José Luis

Juan Español

unread,
May 5, 2013, 6:18:25 PM5/5/13
to
Lo m�s sencillo ser�a no creando los saltos de l�nea cuando una de las
celdas a concatenar estuviese vac�a.
Pero si no puedes/quieres/sabes evitarlo...

- Imaginemos que los datos estan en una hoja llamada Hoja1
- Imaginemos que la columna donde ya estan concatenados, los datos,
COMO texto y NO como resultado de una formula,
es la columna T

Entonces...

Ejecutar una macro con este c�digo:

Sub Macro1()
Dim t0, tF As String, n, m As Byte
For m = 1 To 10
t0 = Chr(10)
tF = t0
For n = 1 To 18
t0 = t0 & Chr(10)
Worksheets("Hoja1").Columns("T").Replace _
What:=t0, Replacement:=tF, _
SearchOrder:=xlByColumns
Next
Next
End Sub

Te podr�a ayudar bastante.

Saludos.-


<esperan...@gmail.com> escribi� en el mensaje de noticias
news:8dd98603-8488-4db2...@googlegroups.com...
Estoy concatenando m�s de 20 campos en uno solo, entre cada encadenamiento
estoy utilizando la funci�n car(10) para saltar una l�nea para ordenar la
informaci�n.
El problema es que hay campos continuos sin contenido y en el encadenamiento
quedan muchos saltos de l�nea entre los contenidos.
Pregunta: Como puedo eliminar los saltos de l�nea que no necesito?

Gracias.

Jos� Luis

Juan Español

unread,
May 5, 2013, 10:45:37 PM5/5/13
to
Un poco m�s completa:

Sub Macro2()
Dim t0, tF As String, m, n, c As Integer, celda As Range
tF = Chr(10)
t0 = tF
Application.ScreenUpdating = False
For m = 4 To 1 Step -1
t0 = tF
For n = m To 1 Step -1
t0 = t0 & Chr(10)
Next
Worksheets("Hoja1").Columns("T").Replace _
What:=t0, Replacement:=tF
Next
For Each celda In Worksheets("Hoja1").Range("T:T")
If Right(celda.Value, 1) = Chr(10) Then
c = Len([celda])
celda.Value = Left(celda.Value, c - 1)
End If
Next
Application.ScreenUpdating = True
End Sub


Saludos.-

"Juan Espa�ol" <este...@micorreo.com> escribi� en el mensaje de noticias
news:km6lsh$9k4$1...@speranza.aioe.org...

carlo...@gmail.com

unread,
Feb 27, 2014, 5:27:56 PM2/27/14
to
YO le concatene CARACTER(10) y en formato de campo le puse de tipo texto

did...@gmail.com

unread,
Nov 10, 2016, 3:05:30 PM11/10/16
to
Prueba a usar

=CONCATENAR(
SI(CONTAR.BLANCO(A1)>0;"";CONCATENAR(CARACTER(10);A1));
SI(CONTAR.BLANCO(A2)>0;"";CONCATENAR(CARACTER(10);A2));
SI(CONTAR.BLANCO(A3)>0;"";CONCATENAR(CARACTER(10);A3))
)

comprueba si la celda a concatenar esta vacía, y en caso de no estarlo añade el salto de linea y el contenido.

Asi te evitas usar macros....

luis...@gmail.com

unread,
Dec 14, 2017, 5:03:23 PM12/14/17
to
Gracias! caracter(10)

manuelc.a...@gmail.com

unread,
Apr 21, 2018, 8:08:01 PM4/21/18
to
Excelente macro. Felicitaciones
0 new messages