¿cómo utilizar wrap text en cualquier lugar a través de vba?
En VBA, hay una propiedad llamada «WrapText» a la que puede acceder para aplicar texto ajustado a una celda o rango de celdas. Tienes que escribir código para habilitarlo o deshabilitarlo. Es una propiedad de lectura y escritura, por lo que puede aplicarla o también puede obtenerla si se aplica en una celda.
En este tutorial, veremos diferentes formas de aplicar texto ajustado usando código VBA.
Ajustar texto en una celda usando VBA
Utilice los siguientes pasos para aplicar Wrap Text usando código VBA.
- Defina la celda donde desea aplicar el texto ajustado usando la propiedad de rango .
- Escriba un punto para ver la lista de propiedades y métodos de esa celda.
- Seleccione la propiedad «WrapText» de la lista.
- Ingrese el signo igual “=» y escriba VERDADERO para habilitar el ajuste de palabras.
Sub vba_wrap_text() Range("A1").WrapText = True End Sub
También puede especificar una celda de la siguiente manera.
Cells(1, 1).WrapText = True
Ajustar texto en una fila de celdas
Y si desea aplicar texto ajustado a un rango completo, debe especificar el rango en lugar de una sola celda.
Range("A1:A5").WrapText = True
También puedes aplicarlo al rango usado (selección de la hoja de trabajo donde ingresaste los datos) usando la propiedad “UsedRange”.
Worksheets("Sheet1").UsedRange.WrapText = True ActiveSheet.UsedRange.WrapText = True
En la primera línea del código anterior, especificó la hoja de trabajo y luego la «propiedad usada» para ajustar el texto. En la segunda línea tienes el rango utilizado de la hoja activa . Pero ambas líneas funcionan igual.
Aquí hay algunos ejemplos más que debes conocer:
- Células no continuas
- Toda la linea
- Toda la columna
- rango con nombre
Range("A1:A10,C1:C10").WrapText = True Range("A:A").WrapText = True Range("1:1").WrapText = True Range("myRange").WrapText = True
Ajustar texto a lo largo de la hoja de trabajo
Para hacer referencia a la hoja de trabajo completa, debe usar la propiedad Celdas como lo hace en el siguiente código.
Cells.WrapText = True Worksheets("Sheet1").Cells.WrapText = True
La primera línea de código se refiere a la hoja activa y la segunda línea se refiere a la hoja de trabajo «Hoja1». También puede usar un bucle usando FOR EACH (For Next) para recorrer todas las hojas de trabajo del libro y aplicar texto envolvente a todas las celdas.
Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Cells.WrapText = True Next ws
En el código anterior, tiene «ws» como variable , luego For Each Loop recorre todas las hojas de trabajo del libro y se aplica para ajustar el texto de toda la hoja de trabajo usando Celdas.
Deshabilitar ajuste de texto
Como ha visto, necesita habilitar la propiedad WrapText y de manera similar puede deshabilitarla usando la declaración FALSE.
Range("A1").WrapText = False
Nota: Hay una cosa que debe comprender: si tiene un valor en una celda y el ancho de la celda es suficiente para almacenar ese valor, incluso si aplica texto a la fila, Excel no moverá el contenido a la siguiente línea .