Como traduzir meses automaticamente de um idioma para outro?

0

Gostaria de traduzir um relatório de faturamento do português para o inglês. É preciso por meses e é uma folha automatizada.
Um contrato pode começar em janeiro, mas é comumente iniciado nos outros 11 meses também.

Se eu definir o primeiro mês como abril, os outros onze da direita continuarão crescendo (maio, junho, julho ...) até março.

Eu criei esta fórmula:

=PROPER(TEXT((B1&1)+31;"mmmm")) 

do segundo ao décimo segundo mês.

No entanto, eu uso em Português (Brasil) e funciona muito bem. Mas quando chega um mês em inglês, não funciona de verdade.

Eu tentei [$-409] e não funciona do jeito que eu quero.

Se eu usar isso, vai como, janeiro e fevereiro, e erro nos próximos meses.

Eu quero escrever em janeiro e receber fevereiro, março e assim por diante.

Ele pode funcionar em sua máquina, experimente com outros idiomas também, por favor.

Observação: o VBA não funcionará, preciso enviá-lo para meus clientes.

    
por Henrique Brisola 20.05.2015 / 16:35

2 respostas

0

Eu já consertei, desculpe pelo atraso.

Eu consertei usando

=PROPER(TEXT((DATE(2014,B3,1)),"mmmm"))

em que "B3" é o número do mês, que é alterado apenas uma vez, recuperado da Tabela Dinâmica.

O mês seguinte recebe +1, em vez de "próximo mês".

=IF(B3<12,B3+1,1)

O IF é usado para reiniciar de 1 se o mês anterior já é 12. "Sem se, continuaria subindo além de 13"

    
por 29.05.2015 / 19:13
1

Acho que o que você quer não é possível da maneira que você quer.

De acordo com seus comentários, não é possível alterar as configurações de localidade do sistema porque este documento pode ser usado em outros computadores em que isso não é uma opção

A única solução que consigo pensar é usar o VBa

Neste exemplo, estou pesquisando toda a planilha e substituindo palavras pelo equivalente

Primeiro, faça um backup do arquivo. Você não pode desfazer o VBa

Sub ChangeTheNameMeHearties()

Dim cell As Range

For Each cell In ActiveSheet.UsedRange
    Dim s As String
    Select Case LCase(cell.Value)

        Case cell.Value = "january"
            cell.Value = "Janeiro"

        Case cell.Value = "february"
            cell.Value = "Fevereiro"

    End Select
Next

End Sub

Você precisará adicionar o restante dos meses, mas deve ser direto, e depois pensar em como eles 'traduzem'

Veja também Como adiciono o VBA no MS Office?

Você pode até usar uma declaração de caso como

    Case cell.Value = "january"
        cell.Value = "Janeiro"

    Case cell.Value = "janeiro"
        cell.Value = "January"

    Case cell.Value = "february"
        cell.Value = "Fevereiro"

    Case cell.Value = "fevereiro"
        cell.Value = "February"

Isso significa que, toda vez que você executá-lo, você alternará entre os idiomas

    
por 28.05.2015 / 12:26