# Cuando un texto es muy largo...



## roberto (Jun 28, 2003)

Hola que tal:

De nuevo me dirijo a ustedes para ver si me pueden ayudar. Mi problema es el siguiente:
 :-> Cuando en una celda el texto es demasiado grande, mayor de 400 caracteres, por alguna razón Excel unicamente muestra una parte de ello ya sea cuando se abre el alto de fila o el ancho de columna, aun en vista preliminar o en impresión; aunque en la celda si este toda la descripción.  Se preguntarán que por qué no lo divido en varias celdas para que se vea todo. Es que es una base de datos y si lo dividiera seria aun mas grande en cuanto a las filas y me llevaria mucho tiempo.
  Queria ver si hay una forma en VBA (Macro) o en una Función de que en otra hoja en limpio la Función o Macro de un rango seleccionado divida aquellos que pasen de los caracteres imprimibles y los ponga en las celdas de filas hacia abajo hasta que se complete la descripción deseada y los que no pasen esos caracteres que de todas forma los ponga, no se si me explique bien. Bueno esto es con el fin de hacer una buena impresión tanto en pantalla como en papel del rango de descripciones seleccionados.
...Gracias de antemano...


----------



## Gonzalita (Jul 4, 2003)

Ya has intentado esto: Format Cell-Alignment-Wrap text.
No se si es lo que necesitas.... espero te sirva.


----------



## roberto (Jul 4, 2003)

Si, ya lo he intentado, y funciona pero hasta 1042 caracteres, que son los unico que se pueden mostrar en pantalla e impresión aunque este la descripción completa en la celda (que es de 3500 caracteres o más), mi problema es como separar automaticamente en dos o mas celdas aquellas descripciones que pasen de 1042 caracteres y que las divida en varias celdas hacia abajo y que respete aquellas que son iguales o menores a 1042 caracteres...

  Gracias por responder y tratar de ayudarme, se agradece tan fina atención prestada   

Espero más respuestas a mi problema....Gracias


----------



## pepesoto (Jul 4, 2003)

¿Es necesario hacerlo en Excel? ¿Que no seria mejor en Word?


----------



## Gonzalita (Jul 9, 2003)

intenta con este codigo:


```
Sub Test()

Dim rngCell As Range
Dim strCell As String
Dim intMaxChar As Integer

intMaxChar = 1042
For Each rngCell In Selection
strCell = rngCell.Value
If Len(strCell) <= intMaxChar Then GoTo 1
rngCell = Left(strCell, intMaxChar)
rngCell.Offset(1, 0) = Right(strCell, Len(strCell) - intMaxChar)
1 Next rngCell

End Sub
```

intMaxChar = cantidad de caracteres maximos en la celda.
Espero te sirva.


----------

