Ergebnis 1 bis 9 von 9
  1. #1
    Registriert seit
    07.03.2008
    Ort
    Fribourg
    Beiträge
    114

    Pfeil Ausgabeformat Deutsch, Fran und Italenisch

    Hallo zusammen

    In der der Zelle A4 habe ich einen Format Definiert das es nach der Datumausgabe folgende angezeigt wird z.B 1.1.2018 wird dan angezeigt 01. MO.

    Ziel ist es das die Anzeige 01. MO/LU/LU also die Anfangbuchstabe (MO=Montag, LU = Lundi, LU = lunedi) von Deutsch, Französisch und Italenisch. Ist Überhaupt möglich ?

    Gruss
    Mir besten Grüssen

    Gabriel

  2. #2
    Registriert seit
    04.08.2015
    Ort
    in der Geburtsstadt der Gebrüder Grimm
    Beiträge
    145

    2 Möglichkeiten

    Hallo Gabriel,

    ich habe dir hier mal eine Datei hochgeladen mit 2 möglichen Lösungen.
    Die erste basiert auf Hilfzellen und Formeln: Gib in A5 das Datum ein, dann steht in A6 die entsprechende Formatierung.
    Die zweite Lösung funktioniert mit einem Makro: Wenn du in A11 das Datum eingibst, wird es automatisch vom Makro umformatiert.
    Reicht dir das so?

    Grüße und einen guten Start ins neue Jahr,
    Andreas
    Angehängte Dateien Angehängte Dateien

  3. #3
    Registriert seit
    04.08.2015
    Ort
    in der Geburtsstadt der Gebrüder Grimm
    Beiträge
    145

    Danke!

    Hallo Gabiel,

    danke für deine ausführliche Rückmeldung!
    Es ist immer schön, wenn man gesagt bekommt, ob das, was man für andere Leute gemacht hat, so ist, wie sie es haben wollten, oder eben noch nicht.
    Außerdem bringt das Leben hier ins Forum und ermuntert mich dazu auch weiterhin anderen Leuten zu helfen.

    Gruß, Andreas

  4. #4
    Registriert seit
    09.08.2007
    Beiträge
    210
    Zitat Zitat von nochEinAndreas Beitrag anzeigen
    Rückmeldung!
    Grüezi Andreas

    Warum Du so lange auf Reaktionen warten musst, könnte folgendes sein: Ich verstehe in Deinem Makro die zweitletzte Zeile auch nach fast zwei Wochen immer noch nicht:

    Code:
        Target = Replace(Format(datum, "00. "), ",", ".") &    usw.
    Es wird ein Komma durch einen Punkt ersetzt. Woher kommt denn dieses zu ersetzende Komma? - Geht es nicht auch einfacher so:

    Code:
    Target = Format(datum, "00. ") & deutsch(wochentag - 1) & "/" & franzoesisch(wochentag - 1) & "/" & italienisch(wochentag - 1)
    Auch wenn ich in A11 ein Datum in folgender Form (mit Kommas) eingebe "10,01,2018", arbeitet Dein Makro bestens auch ohne den Replace-Vorgang.

    Viele Grüsse Niclaus

  5. #5
    Registriert seit
    04.08.2015
    Ort
    in der Geburtsstadt der Gebrüder Grimm
    Beiträge
    145

    Danke für die Rückmeldung

    Hallo Niclaus,

    danke für die Nachfrage. Also, dass mit dem Replace habe ich eingebaut, weil ich festgestellt habe, dass die Format-Funktion von VBA immer ein Komma liefert, auch wenn man als Trenner gerne einen Punkt hätte. Und der Zehnte des Monats soll ja im Ausgabeformat als "10." erscheinen und nicht als "10,"
    Es hat also nichts mit deiner Vermutung zu tun, dass man im Eingabeformat vielleicht Kommata schreibt. Auch eine Eingabe wie "10,1,18" wird von Excel richtig als Datum interpretiert.
    Du kannst es ja mal ausprobieren und das Replace in der vorletzten Zeile weglassen:
    Code:
    Target = Format(datum, "00. ") & deutsch(wochentag - 1) & "/" & franzoesisch(wochentag - 1) & "/" & italienisch(wochentag - 1)
    Dann steht in der Ausgabe "10, MI/ME/ME", aber Gabriel wollte ja den Punkt. Also geht's nur mit Replace.
    Mir fällt aber gerade ein, wie es auch ohne Replace klappt. Man muss den Punkt aus dem Format rausnehmen und ihn explicit hischreiben:
    Code:
    Target = Format(datum, "00") & ". " & deutsch(wochentag - 1) & "/" & franzoesisch(wochentag - 1) & "/" & italienisch(wochentag - 1)
    Noch mal danke für deine Frage. Das hat mich wieder zum nachdenken gebracht.

    Grüße aus Hanau,
    Andreas

  6. #6
    Registriert seit
    09.08.2007
    Beiträge
    210
    Zitat Zitat von nochEinAndreas Beitrag anzeigen
    das mit dem Replace habe ich eingebaut, weil ich festgestellt habe, dass die Format-Funktion von VBA immer ein Komma liefert
    Hallo Andreas
    Das ist seltsam: Ich erhalte bei beiden Varianten einen Punkt als Trenner nach der Tageszahl:

    Code:
    Variante 1
    Target = Format(datum, "00. ") & deutsch    usw.
    Variante 2
    Target = Format(datum, "00") & ". " & deutsch   usw.
    Kann das mit der Windows-Ländereinstellung zusammenhängen? Ich habe die Schweiz-Einstellung.

    Grüsse Niclaus

  7. #7
    Registriert seit
    04.08.2015
    Ort
    in der Geburtsstadt der Gebrüder Grimm
    Beiträge
    145

    Richtige Vermutung

    Hallo Niclaus,

    deine Idee mit der Ländereinstellung war fast richtig. Ich hab's eben ausprobiert:
    Je nachdem, welchen Dezimaltrenner (hängt ja indirekt mit der Ländereinstellung zusammen) man in der Systemsteuerung einstellt, erzeugt "Format ...", wenn man dort einen Punkt eingibt, genau diesen Trenner aus der Systemsteuerung. Du kannst da sogar jedes x-beliebige Zeichen als Trenner in der Systemsteuerung eingeben, also auch Buchstaben oder Ziffern. "Format" nimmt genau dieses Zeichen, wenn du ihm einen Punkt gibst.
    Wenn also bei dir der Punkt in der Systemsteuerung steht, geht es auch ohne das "Replace". Ich würde es allerdings drin lassen, für die Leute, bei denen (wie bei mir) das Komma steht.

    Grüße, Andreas

  8. #8
    Registriert seit
    09.08.2007
    Beiträge
    210
    Zitat Zitat von nochEinAndreas Beitrag anzeigen

    Systemsteuerung - "Format ...", wenn man dort einen Punkt eingibt ...
    Andreas, vielen Dank.

    Schon wieder etwas gelernt: Ich war bisher der Meinung, dieser Trenner gelte nur für die Darstellung von Dezimalzahlen. Aber es leuchtet ein, dass er auch für Datumsdarstellungen gilt; ein Datum ist ja auch "nur" ein Zahlengebilde.

    In diesem Sinne wünsche ich einen schönen 43'111.00 und grüsse freundlich Niclaus

  9. #9
    Registriert seit
    04.08.2015
    Ort
    in der Geburtsstadt der Gebrüder Grimm
    Beiträge
    145
    Ich weiß gar nicht, ob der Dezimaltrenner auch beim Datum benutzt wird. Aber in meinem Code wird der Tag ja als Zahl geschrieben, im Format "00." Deswegen wird der Dezimaltrenner von Windows benutzt.
    Offensichtlich ist es der VBA Format-Funktion wurscht, was man in den Excel-Optionen eingestellt hat. Dort kann man ja auch festlegen, dass nicht der Trenner von Windows benutzt werden soll, sondern etwas Excel-spezifisches. Bei mir ist das so. ich habe in Windows das Komma als Dezimaltrenner, aber in Excel habe ich festgelegt, dass nicht dieser, sondern der Punkt benutzt wird. Aber da "Format" wohl nur auf Windows guckt, schreibt es trotzdem das Komma.

    Grüße, Andreas

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •