2012-11-19 15:11:43 +0000 2012-11-19 15:11:43 +0000
80
80

Excel - Evitar que o texto da célula transborde para a próxima célula (vazia)

Quando tem texto numa célula Excel que é demasiado longo para ser mostrado na área visível dessa célula, e a célula seguinte à direita está vazia, o Excel permite que o texto seja mostrado nessa célula seguinte (e a próxima, e a próxima, conforme necessário). Quero alterar isto; quero evitar este excesso de texto.

Sei que posso evitar isto ao activar “word wrap” e ajustar a altura da linha. Mas não é isso que eu quero.

Quero alterar o comportamento DEFAULT do Excel para que ele mostre o valor de cada célula apenas na área visível dessa célula. Sem transbordamento, sem embrulho de palavras.

Isto é possível? (A propósito, estou a usar o Excel 2010).

Respostas (8)

53
53
53
2015-10-22 13:28:31 +0000

Sim, pode alterar este comportamento, mas provavelmente não vai querer os efeitos secundários que isto provoca.

A chave para limitar o conteúdo da célula aos limites da célula, independentemente de a célula adjacente conter dados é o alinhamento do texto Fill. Seleccione as células que não quer que transbordem e clique com o botão direito do rato nelas > Células formatadas… > Alinhamento > Alinhamento horizontal > Preenchimento

O problema com este método é que isto irá de facto encher células repetindo o seu conteúdo quando este for suficientemente curto para caber várias vezes na célula. Veja abaixo a captura de ecrã para ver o que isto significa. (Note que B7 é enchido com ‘texto curto’.)

Parece que você vai ficar preso com as soluções no Benedikt’s post

Note que você também poderia preencher as células adjacentes com caracteres de tick (') usando o primeiro, muito inteligente método de Benedikt. Desta forma não tem de esconder nada, evitar o transbordo de células e se copiar as células como texto (digamos para o bloco de notas) continua a receber texto vazio e não espaços ou carrapatos.

27
27
27
2015-07-24 13:00:33 +0000

Eis como eu o faço.

  1. Opção 1: Preencher todas as células vazias com um “N/A” e depois usar Formatação Condicional para tornar o texto invisível.
  2. Ou Opção 2:Preencher todas as células vazias com 0 e usar uma configuração Excel para ocultar valores zero.

Preencher todas as células vazias: (testado num Mac)

  • Editar → Ir para… → Especial … (Em Windows: Home → Editing → Find & Select → Go To Special…)
  • Seleccione “Blanks” e prima OK.
  • Todas as células vazias estão agora seleccionadas. Não clique em nada.
  • Escreva “N/A” ou 0, e depois carregue em Ctrl+Enter†. Isto irá inserir o valor em todas as células seleccionadas.

** Formatação condicional para ocultar “N/A ”**

  • Formatar → Formatação condicional.
  • Criar nova regra.
  • Estilo: Clássico, e Use uma fórmula para determinar quais as células a formatar.
  • Formula: =A1="N/A"
  • Formatar com: Formato Personalizado: Cor da fonte: branco, sem preenchimento.

Esconder Zeros

  • Excel → Settings → View.
  • Desmarcar “Mostrar valores zero”.

__________ †  Isto é Ctrl+Enter,não Ctrl +Shift+ Enter.

13
13
13
2017-04-17 12:50:46 +0000

Tente entrar na fórmula =“”“. (são duas aspas duplas) na célula adjacente onde não se quer ver o transbordo. Isto avalia para "nulo” o que não mostra nada e não afecta a matemática.

7
7
7
2017-12-13 19:27:48 +0000

Isto pode não ser uma opção para todos, mas se importar o documento para o Google Sheets, esta funcionalidade é suportada por defeito. Na barra de menu superior, são suportados três tipos de invólucros de texto. Overflow, wrap, e clip. Está à procura de clip.

Dependendo dos requisitos, esta pode ser uma opção viável para algumas pessoas.

4
4
4
2018-11-28 00:26:59 +0000

Expandindo a solução de usar ' para bloquear Excel o derrame direito do texto em células adjacentes em branco, por vezes não quer modificar/corromper a sua coluna de dados inserindo aí esse valor.

Em vez de inserir o ' nos seus valores de dados reais, pode criar uma nova coluna vertical dedicada para este fim, inteiramente preenchida com caracteres ' até ao fim.

1. Coluna de barreira

2. Insira a coluna “barreira” à esquerda da(s) coluna(s) que pretende proteger.

3. Colocar as colunas da barreira com uma largura de coluna pequena

Fixar a largura da coluna num valor como .1 ou, em alternativa, manter as colunas da barreira mais largas para actuar como margem ou espaço entre colunas em branco.

Note que é necessário fixar uma largura superior a zero; fixar a largura da coluna da barreira vertical a zero reverterá para o comportamento de transbordo de células indesejado.

4. Voila!

4
4
4
2017-10-31 15:09:07 +0000

Utilize o alinhamento horizontal do texto “Fill” para a célula. Pode encontrá-lo no mesmo local que outras opções de alinhamento que devem resolver o seu problema

1
1
1
2019-06-24 08:59:09 +0000

No Excel, ajuste a coluna para a largura desejada, em seguida, habilite a palavra-warp nessa coluna (o que fará com que todas as alturas das linhas aumentem) e, finalmente, selecione todas as linhas e ajuste as alturas das linhas para a altura desejada. Voilá! Tem agora texto em células que não transbordam para as células adjacentes.

(Nota: encontrei isto e afixei como comentário na resposta seleccionada mas também afixei como resposta pelo que será mais fácil de encontrar para os outros).

0
0
0
2019-09-23 04:17:44 +0000

Na mesma linha de pensamento que Google Sheets pode não ser para todos, esta macro pode não ser para todos mas pode ser para alguém.

Percorre o intervalo seleccionado e substitui células transbordantes por texto truncado.

As bandeiras determinam se:

  • o texto ofensivo é copiado para o mesmo endereço relativo numa nova folha de trabalho ou se é descartado.

  • o texto truncado é codificado ou ligado através da fórmula da folha de trabalho =LEFT()

  • o texto truncado é hiperligado à cadeia completa da nova folha.

Por defeito é para reter dados e utilizar ambos os links.

Option Explicit

Sub LinkTruncatedCells()
    Dim rng As Range: Set rng = Selection
    Dim preserveValues As Boolean: preserveValues = True
    Dim linkAsFormula As Boolean: linkAsFormula = True
    Dim linkAsHyperlink As Boolean: linkAsHyperlink = True
    Dim w As Single
    Dim c As Range
    Dim r As Range
    Dim t As Long
    Dim l As Long
    Dim s As String
    Dim ws As Worksheet
    Dim ns As Worksheet
    Application.ScreenUpdating = False
    Set ws = rng.Parent
    For Each c In rng.Columns
        w = c.ColumnWidth
        t = 0
        l = 0
        For Each r In c.Rows
            If Len(r) > l Then
                s = r
                If CBool(l) Then r = Left(s, l)
                Do
                    r.Columns.AutoFit
                    If r.ColumnWidth > w And Len(s) > t Then
                        t = t + 1
                        r = Left(s, Len(s) - t)
                        l = Len(r)
                    End If
                Loop Until t = Len(s) Or r.ColumnWidth <= w
                r.ColumnWidth = w
                If r <> s And preserveValues Then
                    If ns Is Nothing Then
                        Set ns = ws.Parent.Worksheets.Add(after:=ws)
                    End If
                    ns.Range(r.Address) = s
                    If linkAsFormula Then r.Formula = "=LEFT(" & ns.Name & "!" & r.Address & "," & l & ")"
                    If linkAsHyperlink Then ws.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _
                            ns.Range(r.Address).Address(external:=True)
                End If
            End If
        Next r
    Next c
    ws.Activate
    Application.ScreenUpdating = True
End Sub

Nota final: Utilizei-o para projectos pessoais e achei-o fiável, mas por favor save e faça cópias de segurança do seu trabalho antes de tentar qualquer macro* não familiar.