Excel: Monat in zweistellig umwandeln

Anwenderaustausch zur PhraseExpress Makroprogrammierung
Post Reply
Manni
Posts: 24
Joined: 27 Apr 17, 13:53

Excel: Monat in zweistellig umwandeln

Post by Manni » 08 Nov 19, 11:52

Hallo zusammen,

Excel 2010 hat ja die Angewohnheit bei der Abfrage des Monats aus einem Datum dieses dann mit 1 statt 01 für Januar auszugeben. Da die bisherigen Tipps direkt in Excel nicht funktionieren, wollte ich es per Makro einfach überschreiben lassen.

Das Datum in der Tabelle hat ein Format von 2019/10 und 2019/1 steht dann leider in der Sortierung direkt davor und sollte in 2019/01 umgewandelt und direkt geschrieben werden. Habt Ihr eine Idee, wie es sich möglichst einfach realisieren lässt? Eine Zelle wird gelesen und entsprechend umgewandelt, wenn das Format nicht stimmt. Wobei das Jahr immer mit übernommen werden müsste.

Danke und viele Grüße
Manni

Peter Stotz
PhraseExpress Expert
Posts: 801
Joined: 27 Feb 08, 15:07

Post by Peter Stotz » 08 Nov 19, 12:19

@Manni
Geht das nicht am einfachsten mit dem Excel-Benutzerformat JJJJ/MM für die entsprechenden Zellen?

PhraseExpress erzeugt das gewünschte Datumformat mit diesem Codesyntax
{#datetime -f YYY'/'MM}

Peter
Windows 10 - PhraseExpress v14.0.164

Manni
Posts: 24
Joined: 27 Apr 17, 13:53

Post by Manni » 08 Nov 19, 13:32

Hallo Peter,

leider funktioniert das Benutzerformat bei mir nicht, hatte ich auch schon ausprobiert.
Das Datumsformat wäre genau das richtige, nur gibt der Code ja das aktuelle Datum aus. Die Frage ist, wie ich es als Format-Konverter nutzen könnte.
Danke für Deine Antwort.

Manni

Peter Stotz
PhraseExpress Expert
Posts: 801
Joined: 27 Feb 08, 15:07

Post by Peter Stotz » 08 Nov 19, 17:49

@Manni
Hmm - ich würde hier eine Lösung mit Excel-Mitteln bevorzugen...

PhraseExpress formatiert mit dem nachfolgenden Code [Version 20191110-11:51]
Zeilenendungen innerhalb einer Markierung von der Endung
».../<eine_ziffer>« - z.B. von .../3
zur Endung
».../0<eine_ziffer>« - z.B. zu .../03 um.
Das funktioniert bei einzelne Zeichenfolgen, für Zeilen in Listen und auch bei Excelspalten.

Code: Select all

(* 20191110 • Zeilenendungen von .../<eine_ziffer> zu .../0<eine_ziffer> umformatieren (RegEx)
*){#clipboard -copy}(* 
  1. RegEx₁: whitespaces vor Zeilenumbrüchen entfernen 2. RegEx₂: /0<eine_ziffer> formatieren 3. abschließenden Zeilenumbruch entfernen
*){#trimright {#regexrep -text {#regexrep -text {#insertclipboard}{#asc 13} -expr (\h+)\R -repexpr {#asc 13}} -expr \/([\d])$ -repexpr /0\1}}
Beispiele:
2019/1 → 2019/01
2/9 → 2/09
Abc/7 → Abc/07

Peter
Windows 10 - PhraseExpress v14.0.164

Post Reply