Insertar salto de linea en excel

Respuesta de
a
Usuario
Buenos días.
Tengo una celda en Excel que recoge el contenido de otras celdas de la forma
=Celda1 & Celda2 & Celda3 ...
¿Cómo puedo hacer para insertar un salto de linea después de cada celda, de forma que en la que recoge todos los contenidos, cada una aparezca en una linea diferente?
Gracias
Avatar
Experto
Hola Buscando por hay encontré esta solución y creo que se ajusta a lo que necesitas:
=celda1&CARACTER(10)&celda2&CARACTER(10)&celda3
ó sino,
=CONCATENAR(celda1;CARACTER(10);celda2;CARACTER(10);celda3)
Dónde el Carácter Ascii Número 10 es el salto de línea, luego debes formatear la celda con Ajuste de Texto desde el Menú Formato, Celdas, Ficha Alineación, Ajustar Texto; para que los "?" se conviertan en verdaderos saltos de línea.
Saludos
Usuario
Ok, funciona perfectamente. Lo único, que si una de las celdas está vacía, también queda vacía la linea correspondiente en la celda destino. ¿Sería posible eliminar esas lineas vacías? Es decir, que en la celda destino solo aparezcan los datos de las celdas que tienen datos.
Avatar
Experto
Me parece que no hay forma de hacer a través de fórmula ; si se puede realizar a través de macros...
Si te interesa podemos realizar una...
Saludos..
Usuario
Ok, vamos a intentarlo con macros.
A parte me ha surgido otro problemilla. Hay celdas originales que ocupan más de una linea en la celda final. Las primeras hace un ajuste automático y pasa lo que no cabe a la linea siguiente, pero a partir de una determinada, lo que no cabe en una línea lo corta. ¿Sabes por que puede ocurrir esto?
Muchas gracias
 
Avatar
Experto
hola ..
pedrias enviarme yu archivo para verificarlo
armijo17@hotmail.com
Avatar
Experto
Bueno acá esta la macro Función más que nada para evitar el CARÁCTER(10) :
Function Juntar(ParamArray nums() As Variant) As String

dato = nums(x)
n = UBound(nums()) ' Finds the number of arguments passed to
' the function.

For x = 1 To n
dato = dato & Chr(10) & nums(x)
Next ' Adds each of the arguments into the total sum.
Juntar = dato
End Function
en la hoja de calculo la llamarías :
=juntar(B5;C5;D5;E5;F5)
Luego formateas la celda como el anterior ejemplo
saludos
Usuario
Gracias, pero me he perdido un poco.
¿Esta macro donde la pongo? Porque si luego voy a llamarla desde la celda correspondiente...¿?
 
Avatar
Experto
la pones dentro de un modulo ; esta macro corresponde a una funcion personalizada.. por lo tanto dentro de la celda  la puedes llamar como una funcion =juntar(B5;C5;D5;E5;F5)
Avatar
Experto
Si crees que la respuesta es la correcta favor cierra la pregunta
Saludos
Usuario
Ok, perfecto.
Perdona por no haber cerrado antes, pero no había visto la última contestación.
Muchas gracias por todo.