Como usar wrap text em qualquer lugar via vba?

No VBA, existe uma propriedade chamada “WrapText” que você pode acessar para aplicar quebra automática de texto a uma célula ou intervalo de células. Você tem que escrever código para habilitá-lo ou desabilitá-lo. É uma propriedade de leitura e gravação, então você pode aplicá-la ou também obtê-la se for aplicada em uma célula.

Neste tutorial, veremos diferentes maneiras de aplicar quebra automática de texto usando código VBA.

Quebrar texto em uma célula usando VBA

Use as etapas a seguir para aplicar Wrap Text usando código VBA.

  1. Defina a célula onde deseja aplicar a quebra automática de texto usando a propriedade range .
  2. Digite um ponto final para ver a lista de propriedades e métodos dessa célula.
  3. Selecione a propriedade “WrapText” na lista.
  4. Insira o sinal de igual “=” e digite TRUE para ativar a quebra automática de palavras.
 Sub vba_wrap_text() Range("A1").WrapText = True End Sub

Você também pode especificar uma célula da seguinte maneira.

 Cells(1, 1).WrapText = True

Quebrar o texto em uma linha de células

E se quiser aplicar quebra automática de texto a um intervalo inteiro, você precisa especificar o intervalo em vez de uma única célula.

 Range("A1:A5").WrapText = True

Você também pode aplicá-lo ao intervalo utilizado (seleção da planilha onde inseriu os dados) utilizando a propriedade “UsedRange”.

 Worksheets("Sheet1").UsedRange.WrapText = True ActiveSheet.UsedRange.WrapText = True
aplicar quebra de texto ao intervalo usado

Na primeira linha do código acima, você especificou a Planilha e depois a “UsedProperty” para quebrar o texto. Na segunda linha você tem o intervalo utilizado da planilha ativa . Mas ambas as linhas funcionam da mesma forma.

Aqui estão mais alguns exemplos que você deve saber:

  • Células não contínuas
  • Linha inteira
  • Coluna inteira
  • Intervalo nomeado
alguns exemplos de quebra de texto
 Range("A1:A10,C1:C10").WrapText = True Range("A:A").WrapText = True Range("1:1").WrapText = True Range("myRange").WrapText = True

Quebrar o texto em toda a planilha

Para se referir à planilha inteira, você precisa usar a propriedade Cells como no código a seguir.

 Cells.WrapText = True Worksheets("Sheet1").Cells.WrapText = True
quebrar texto em planilha inteira

A primeira linha de código refere-se à planilha ativa e a segunda linha refere-se à planilha “Planilha1”. Você também pode usar um loop usando FOR EACH (For Next) para percorrer todas as planilhas da pasta de trabalho e aplicar quebra automática de texto a todas as células.

loop-usando-para-aplicar-wrap-text
 Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Cells.WrapText = True Next ws

No código acima, você tem “ws” como uma variável , então For Each Loop percorre todas as planilhas da pasta de trabalho e se aplica para quebrar o texto de toda a planilha usando Células.

Desativar WrapText

Como você viu, você precisa habilitar a propriedade WrapText e da mesma forma você pode desabilitá-la usando add declarando FALSE.

 Range("A1").WrapText = False

Nota: Há uma coisa que você precisa entender se você tiver um valor em uma célula e a largura da célula for suficiente para armazenar esse valor, mesmo se você aplicar texto à linha, o Excel não moverá o conteúdo para a próxima linha .

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *