Noel, bom dia.
Infelizmente só os valores numéricos é que têm essa regalia de serem formatados individualmente ou em grupos. Com eles vc consegue brincar à vontade com os caracteres individuais, posicionando os "#", "0", "?" etc. onde bem entender. Entretanto, quando a célula é avaliada como um texto, o trecho na caixa de formatação personalizada vai corresponder ao "@" (último grupo), o qual representa somente o texto inteiro, e não partes dele.
A solução acho que teria que ser mesmo ou com uma coluna auxiliar como o colega Neri S postou ou através de VBA, o qual poderia alterar o conteúdo de sua célula logo após vc entrar com o texto na célula (no evento Worksheet_Change, por exemplo). De qualquer maneira, o conteúdo final das células "formatadas" não terão somente uma formatação: os hifens passarão a fazer parte do conteúdo da célula.
Vc até poderia usar um controle ActiveX como o MaskEd Box que faria exatamente o que vc deseja, mas faz parte da biblioteca mscomct2.ocx que era do VB6, sua instalação deixou de ser das mais simples, precisa inserir um controle para cada célula (ou seja, não dá pra ir arrastando pra baixo pra inserir mais de um), incompatibilidade de plataforma Office 32x64 bits, portabilidade ruim, enfim, é muito mais problema do que solução.
Postado : 26/06/2017 5:47 am