Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textfeldfarbe ändern wenn Datum überschritten

Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 14:19:03
Stephan
Hallo zusammen,
ich würde gerne eine Textbox einfärben, sobald ein Wert überschritten wird.
In meinem Fall ist es ein Datum, welches in einer Textbox steht.
Er soll prüfen ob das Datum, welches eingetragen ist älter als ein Jahr ist, wenn dies der Fall ist, möchte ich die Farbe der Box ändern. Ich habe nur keine Ahnung wie ich das bewerkstellige. :D
In Excel hab ich diese Formel dazu genommen.
=UND(I5"";I5 Ggf muss das ja in VBA ähnlich aussehen. Nur weiß ich nicht wie.
Ich hatte mal angefangen, komme aber nicht weiter.
TextBox1_Change()
If Textbox1 > (hier kluger code) Then TextBox1.BackColor = RGB (246, 212, 202)
End Sub
Vielen Dank für eure Hilfe :)

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 14:21:39
Stephan
Excel Formel hat es abgeschnitten.
=UND(I5"";I5

AW: Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 15:11:35
Torsten
kluger code:

...Date...

AW: Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 15:15:02
Regina
Moin,
so sollte das passen:
If CDate(Me.TextBox1) 

AW: Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 15:29:43
Stephan
Hallo Regina,
ja cool danke, das klappt super. Eine Frage zum Ablauf der Abfrage. (Date) gibt das Aktuelle Datum zurück? CDate(Me.TextBox1) liest den wert aus der Textbox und konvertiert es in ein für die Verarbeitung passendes Format? Mit DateSerial(Year(Date) - 1 rechnet man ein Jahr zurück? Würde dann Theoretisch auch mit Month(Date) -1 funktionieren wenn man nur einen Monat zurück haben möchte?
Wäre cool, wenn ich noch eine kurze Zusammenfassung zur Arbeitsweise des Codes bekomme. Damit ich auch weiß wie er genau arbeitet und ich das nicht nur Blind übernehme. :)
Vielen lieben Dank
Anzeige
AW: Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 15:34:50
Torsten
Du hast das genau richtig erfasst. Das einzige Problem hierbei ist, wenn etwas anderes als ein Datum in die Textbox eingegeben wird. Das sollte man vielleicht noch abfangen:

If Not IsDate(TextBox1.value) Then
MsgBox "Kein gültiges Datum!"
Exit Sub
End If
Gruss Torsten
AW: Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 15:40:49
Regina
Nachtrag:
Mit Dateserial kann man sich ein "VBA-konformes" Datum zurecht bauen. Einfach Cdate(DeineTextbox) mit 01.07.2019 vergleichen würde nicht funktionieren.
Dateserial hat dann die Syntax Year, Month, Day Wenn Du dann da Date einsetzt, zerlegst Du quasi das Datum in seine Bestandteile und kannst auf jeden Bestandteil mit + bzw - Einheiten abziehen bzw. drauf addieren.
Gruß
Regina
Anzeige
AW: Textfeldfarbe ändern wenn Datum überschritten
08.07.2019 15:53:39
Stephan
Vielen Dank ihr beiden. @Torsten - Dafür ist gesorgt. Ein Datum wird nur über den Klick auf ein Button worauf hin sich ein kleiner Kalender öffnet eingegeben.
@Regina, danke für den Code und die Erklärung :)
AW: Textfeldfarbe ändern wenn Datum überschritten
09.07.2019 14:40:44
Stephan
Ich bin jetzt doch auf ein Problem gestoßen. Wenn kein Datum eingetragen ist, was in dem Feld schon vor kommt, dann gibt er mir den Fehler 13 Datentyp Unverträglich aus. Wahrscheinlich weil er ein Datum erwartet, er aber nix finden kann. Kann ich einfach sagen, er soll den Fehler Ignorieren? Also abfangen und sagen "wenn Fehler, nächste?" Oder gibt es eine Elegante Lösung :D

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige