
De vez em quando fico incomodado com o fato de o Excel substituir o conteúdo das células por '######' para determinados formatos de números quando a célula é muito pequena.
Não tem sido um grande problema até agora, quando mexe com a saída das minhas macros que dependem do texto exibido, ou seja, o símbolo da moeda; que não faz parte dos dados da célula.
Existe uma maneira de desativar esse recurso e fazer com que os números sejam cortados ou estourados, como acontece com o texto?
Isso é especificamente para casos em que desejo que minhas células tenham um determinado tamanho ou quero ocultar minhas células e isso precisa ser resolvido. Tentei pesquisar bastante no Google, mas não encontrei uma solução, nem mesmo perguntas semelhantes ainda.
Uma solução temporária que tenho para isso é ativar a redução para ajustar o alinhamento da célula, mas o ideal seria apenas desativá-la.
Entendo que esse recurso serve para evitar a leitura incorreta de números cortados, mas isso não me incomoda para meus propósitos no momento.
Responder1
Ajuste automaticamente a largura da coluna antes de consultar o texto da célula.
por exemplo
With ActiveCell
.EntireColumn.AutoFit
Debug.Print .Text
End With
Responder2
Você pode formatar as células/colunas/o que você tem como TEXTO antes de inserir os dados (ou depois de algum esforço para lidar com alguns efeitos que o Excel já pode ter feito, como mostrar um em notação científica).
Dessa forma, você obtém o efeito de "recorte" e não altera sua formatação aparente para notação científica ou para as hash.
Na MAIORIA dos casos de uso desses números em cálculos posteriores, o Excel os interpretará alegremente como números, mesmo que a formatação seja como TEXTO. Portanto, adicioná-los a algo, etc., funcionará bem.
Funções como SUM()
não serão. Para eles, agrupar um intervalo ou referência de célula na VALUE()
função resolverá isso: SUM(VALUE(A1:B5))
soma bem todos esses dados no intervalo.
No entanto, qualquer função (ou comando de menu, etc.) que possa logicamente encontrar uma diferença importante entre texto e número falhará sem etapas extras. Funções de pesquisa, por exemplo. Ou usar a funcionalidade de filtragem do menu da faixa de opções verá qualquer coisa formatada como texto como diferente de coisas formatadas como números ou gerais.
Portanto, =IFERROR(VLOOKUP(VALUE(A1),B1:E4,2,FALSE),VLOOKUP(A1,B1:E4,2,FALSE))
pode resolver o problema, embora possa ser necessário algo mais complexo se a pesquisa for mais complicada
Por último, todas as apostas são desativadas ao usar os dados nas Tabelas Dinâmicas, no Power Pivot ou no Power Query. (PQ sendo o menos duvidoso deles.)
Mas só precisa de cuidados paliativos básicos aqui? Faça a formatação como texto e veja se resolve sem dificuldades imediatas de acompanhamento.