Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datumseingabe in Zellen angleichen

Datumseingabe in Zellen angleichen
18.08.2022 13:36:26
Dorje
ein herzliches hallo
Ich habe ein ein Problem, das eigentlich keines ist. Es ist ein leichtes, einen Workaround in die Excel datei einzubauen, aber der Ehrgeiz hat mich gepackt und ich will wissen, ob und vor allem wie ich eine Lösung finden kann.
In Spalte A (formatiert als Datum) werden Datumsbereiche eingegeben in der Form:
"1.1.-16.5." oder "12.12.-18.12" oder 5.5.-9.5.". Mit den Funktionen "Teil" oder "links/rechts" lassen sich die Anfangswerte und die Endwerte der Bereiche nur sicher extrahieren, wenn der Datumswert immer zweistellig ist ( z. B.: "12.12.-18.12."). Solange die Länge des Datumsbereichs in A Ich möchte gerne den Anfangswert und den Endwert trennen, und in eigenen Zellen mit dem aktuellen Tabellenblattnamen verbinden, so dass sich Einzeldatumswerte mit Jahreszahl ergeben.
Gibt es die Möglichkeit, den Bereich zu trennen und einheitlich (mit führenden Nullen) zu formatieren?
Der Name des Tabellenblatts ist immer das zugeordnete Jahr. Das kann ich problemlos ermitteln und anhängen (ist in Zelle L4 hinterlegt
Und ja, ich weiß, dass ich einfach eine weitere Spalte einfügen kann, diese mit dem passenden Datumsformat versehe, die Spalte A händisch aufteile, die auch in Zukunft machen kann und das Problem ist beseitigt. Aber ich habe Ehrgeiz, es wurmt mich, keine Lösung mit konventionellen Mitteln zu finden.
Ich will es lösen !
Das zugehörige Excelsheet ist angehängt
https://www.herber.de/bbs/user/154709.xlsm
Und ganz so nebenbei ist ein VBA-Code (in L5 aus dem Internet) zum Ermitteln des Blattnamens eingefügt, den ich nicht zum Laufen bringe. (ist nicht so wichtig, da bereits in L4 gelöst)
Danke für alle Ideen und Lösungsmöglichkeiten
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
LINKS/RECHTS/TEIL/Split
18.08.2022 13:40:17
{Boris}
Hi,
das ist Stringzerlegung - dafür gibt es unzählige Funktionen wie LINKS/RECHTS/TEIL/SUCHEN/FINDEN - in VBA Split, InStr, InStrRev usw.
Schau Dir die mal an.
BTW:

In Spalte A (formatiert als Datum) werden Datumsbereiche eingegeben in der Form:
"1.1.-16.5." oder "12.12.-18.12" oder 5.5.-9.5.". 
Es ist und bleibt Text und kein Datum - demnach ist das Zellformat Datum uninteressant.
VG, Boris
Anzeige
AW: LINKS/RECHTS/TEIL
18.08.2022 20:59:12
Dorje
danke,
der tipp mit dem String / Text war Gold wert.
mit den FUNKTIONEN.
=WERT(TEIL($A3;1;(FINDEN("-";$A3)-1))&TEIL(ZELLE( "dateiname";$A1); FINDEN("]"; ZELLE("dateiname"; $A1))+1; 255)) für Startwerte
UND
=WERT((TEIL(A3;(1+FINDEN("-";$A3));6))&TEIL(ZELLE( "dateiname";$A1); FINDEN("]"; ZELLE("dateiname"; $A1))+1; 255)) für die Endwerte
ist alles drinnen.
Anzeige
2 Hinweise
18.08.2022 21:57:42
{Boris}
Hi,
erstmal: Klasse, dass Du das selbst zusammengebastelt hast!
Darüber hinaus:
Damit es international läuft, besser "Dateiname" durch "filename" ersetzen. Läuft so auch im deutschen Excel - aber eben auch im englischen.
Zudem würde ich den Blattnamen (also die Jahreszahl) pro Blatt in einer separaten Zelle auslesen, damit nicht pro Formel neu berechnet werden muss.
Also z.B. in M1:
=TEIL(ZELLE("filename";A1);FINDEN("]";ZELLE("filename";A1))+1;9)
Und dann - bezogen auf A3 - die Formel (hier für den Teil links des Bindestrichs):
=WERT(TEIL($A3;1;(FINDEN("-";$A3)-1))&$M$1)
Könnte man noch mit LINLKS etc. verkürzen, aber das bringt Dir keinen Mehrwert.
VG, Boris
Anzeige
AW: Datumseingabe in Zellen angleichen
18.08.2022 14:17:58
Rudi
Hallo,
Functions gehören in ein allg. Modul.
In ein Modul:

Public Function blattname(r As Range) As String
blattname = r.Parent.Name
End Function
Function AnfDat(strDat)
AnfDat = Trim(Split(strDat, "-")(0))
If Right(AnfDat, 1)  "." Then AnfDat = AnfDat & "."
End Function
Function EndDat(strDat)
EndDat = Trim(Split(strDat, "-")(1))
If Right(EndDat, 1)  "." Then EndDat = EndDat & "."
End Function
In der Tabelle dann
F3: =--(AnfDat(A3) & L3)
G3: =--(EndDat(A3) & L3)
L3: =blattname($A$1)
Gruß
Rudi
Anzeige
AW: Datumseingabe in Zellen angleichen
18.08.2022 21:03:14
Dorje
danke.
den VBA code werde ich morgen ausprobieren.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige