Solução para o Excel
Supondo que você está falando de centralizar o texto em uma coluna única (e não em uma linha)
Você pode usar o VBA para executar três etapas com um clique
- Defina suas células para uma fonte com largura fixa, como Consolas
- Centralize suas células
- Adicione espaços ao início ou ao final da string até que o hífen esteja centralizado
Sub CenterHyphenatedContent()
For Each cell In UsedRange
If InStr(cell.Value, "-") > 0 Then
cell.Font.Name = "Consolas"
cell.HorizontalAlignment = xlCenter
intLenLeft = InStrRev(cell.Value, "-") - 1
intLenRight = Len(cell) - InStr(cell.Value, "-")
intDiff = Abs(intLenLeft - intLenRight)
If intLenLeft > intLenRight Then cell.Value = cell.Value & Space(intDiff)
If intLenLeft < intLenRight Then cell.Value = Space(intDiff) & cell.Value
End If
Next
End Sub
Antes de & depois de
Atenção: Este código altera seus dados do Excel, pois adiciona espaços extras