Wie übersetzt man Monate automatisch von einer Sprache in eine andere?

Wie übersetzt man Monate automatisch von einer Sprache in eine andere?

Ich möchte einen Abrechnungsbericht von Portugiesisch (Brasilien) ins Englische übersetzen. Er ist monatsweise genau und ein automatisiertes Blatt.
Ein Vertrag kann im Januar beginnen, aber er wird normalerweise auch in den anderen 11 Monaten gestartet.

Wenn ich den ersten Monat auf April einstelle, wachsen die elf anderen auf der rechten Seite weiter (Mai, Juni, Juli ...) bis März.

Ich habe diese Formel erstellt:

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

für den zweiten bis zwölften Monat.

Ich verwende es jedoch auf Portugiesisch (Brasilien) und es funktioniert sehr gut. Aber wenn ich auf einen englischen Monat treffe, funktioniert es nicht wirklich.

Ich habe es versucht [$-409], aber es funktioniert nicht so, wie ich möchte.

Wenn ich dies verwende, erscheint beispielsweise „Januar“ und „Februar“ und bei den darauffolgenden Monaten ein Fehler.

Ich möchte Januar aufschreiben und Februar, März usw. erhalten.

Möglicherweise funktioniert es auf Ihrem Computer. Versuchen Sie es bitte auch mit anderen Sprachen.

Hinweis: VBA funktioniert nicht, ich muss es an meine Kunden senden.

Antwort1

Ich glaube, das was du willst, ist nicht so möglich, wie du es möchtest.

Ihren Kommentaren zufolge können Sie die Gebietsschemaeinstellungen des Systems nicht ändern, da dieses Dokument auf anderen Computern verwendet werden kann, auf denen dies keine Option ist

Die einzige Lösung, die mir einfällt, ist die Verwendung von VBa

In diesem Beispiel gehe ich das gesamte Arbeitsblatt durch und ersetze Wörter durch das Äquivalent

Erstellen Sie zunächst eine Sicherungskopie der Datei. Sie können VBa nicht rückgängig machen.

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

Sie müssen die restlichen Monate hinzufügen, aber das sollte unkompliziert sein. Überlegen Sie dann, wie sie sich „übersetzen“ lassen.

Siehe auchWie füge ich VBA in MS Office hinzu?

Sie könnten sogar eine Case-Anweisung wie diese verwenden

    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"

Das bedeutet, dass Sie bei jedem Ausführen zwischen den Sprachen wechseln

Antwort2

Ich habe es bereits behoben, entschuldigen Sie die Verzögerung.

Ich habe das Problem behoben mit

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

wobei „B3“ die aus der Pivot-Tabelle abgerufene Monatsnummer ist, die sich nur einmal ändert.

Der Folgemonat erhält +1, statt „nächster Monat“.

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

Das IF wird verwendet, um wieder von 1 aus zu starten, wenn der vorherige Monat bereits 12 ist. „Ohne IF würde es immer noch über 13 hinausgehen.“

verwandte Informationen