Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alter vergleichen

Alter vergleichen
27.05.2007 15:24:32
Walter
Hallo Zusammen,
habe ein Datenbank, in der Zelle B1 steht das Datum Heute also 28.05.2007 in der Datenbank
steht in der Spalte 8 das Alter des Mitglieds.
Nun möchte ich in der UF, wenn man diese aufruft das das Datum verglichen wird, z.b. wenn jemand
Heute Geburtstag hat soll die Textbox-Schrift Rot und Fett werden und eine MSGBOX wird aktiviert mit dem
Hinweis.
UFData.TextBox8.Enabled = False ' das Alter sperren
UFData.TextBox8 = Format(TextBox8.Value, "yy")
Geht sowas ?
mfg walter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alter vergleichen
28.05.2007 07:47:49
Oberschlumpf
Hi Walter
Versuch mal so:
Trage selbst, oder lass mit VBA erst mal alle Daten ins UF eintragen
Rufe dann dieses Makro auf

Sub DatumKontrolle()
If CDate(UFData.TextBox8.Text = Date Then
UFData.TextBox8.Enabled = False
UFData.TextBox8 = Format(TextBox8.Value, "yy")
MsgBox "das ausgewählte Mitglied hat heute Geburtstag"
Else
UFData.TextBox8.Enabled = True
UFData.TextBox8 = Format(TextBox8.Value, "dd.mm.yyyy")'oder das Format,dass du möchtest
End If
End Sub


Konnte ich helfen?
Ciao
Thorsten
End If

Anzeige
AW: Alter vergleichen
28.05.2007 10:17:28
Walter
Guten Morgen Thorsten,
bleibt hier stehen bzw. Zeile ist ROT:
If CDate(UFData.TextBox8.Text = Date Then
mfg Walter

AW: Alter vergleichen
28.05.2007 10:29:41
Oberschlumpf
Hi Walter
Ups...hab ne Klammer vergessen.
Änder die Zeile um in diese:
If CDate(UFData.TextBox8.Text) = Date Then
Gehts nun?
Ciao
Thorsten

Leider
28.05.2007 10:43:49
Walter
Hallo Thorsten,
in der Textbox wird 00 angezeigt. Sonst keine Reaktion,
mfg walter

AW: Leider
28.05.2007 11:24:33
Oberschlumpf
Hi Walter
Ersetz mal den ganzen Code durch diesen:
(ich hatte die rote Farbe vergessen)

Sub DatumKontrolle()
If CDate(UFData.TextBox8.Text = Date Then
UFData.TextBox8.Enabled = False
UFData.TextBox8.Text = Format(TextBox8.Value, "yy")
UFData.TextBox8.ForeColor = RGB(255, 0, 0)
MsgBox "das ausgewählte Mitglied hat heute Geburtstag"
Else
UFData.TextBox8.Enabled = True
UFData.TextBox8 = Format(TextBox8.Value, "dd.mm.yyyy")'oder das Format,dass du mö _
chtest
UFData.TextBox8.ForeColor = RGB(0, 0, 0)
End If
End Sub


Das in der Textbox 00 angezeigt wird, könnte an dieser Zeile liegen
UFData.TextBox8.Text = Format(TextBox8.Value, "yy")
Da ich nicht weiß, welches Format du angezeigt haben möchtest, hatte ich die Zeile einfach so übernommen.
Du schreibst zwar, es passiert nix weiter, aber die Textbox müsste disabled sein, oder?
dein Feedback?
Ciao
Thorsten

Anzeige
Es tut mir leid aber
28.05.2007 11:58:00
Walter
Hallo Thorsten,
es wird das Datum 26.02.1900 in die Textbox geschrieben.
Ich möchte jedoch eine Info, wenn der jenige Heute Geburtstag hat also 28.05. und das Datum Heute
ist ja 28.05. !
mfg Walter

AW: Es tut mir leid aber
28.05.2007 12:07:50
Oberschlumpf
Hi Walter
Wie gesagt, die Falschanzeige wird durch die Zeile mit ...Format(...,"yy") kommen.
WAS genau willst du denn mit "yy" anzeigen? yy steht eigtlich für NUR 2 Stellen des Jahres - ist das so gewollt?
Und...
...der Code darf erst ausgeführt werden, NACHDEM dein UF mit Werten gefüllt ist, da im Code nur das vorher in Textbox eingetragene Datum mit dem aktuellen Datum verglichen wird.
Ciao
Thorsten

Anzeige
Ich habe die Lösung oder ?
28.05.2007 12:28:00
Walter
Hallo Thorsten,
ich möchte das Datum vergleichen, unabhängig vom Alter.
habe diese Zeile reingesetzt, da in B1 das Datum steht, habe mal so getestet:
If Format(ActiveSheet.Range("B1").Value, "dd.mm.") = _
Format(ActiveSheet.Range("G10").Value, "dd.mm.") Then
jetzt reagiert die MSGBOX , habe mal das Datum geändert, geht auch.
Jetzt muß ich das halt nur noch in die UF einbringen oder ?
mfg walter

AW: Ich habe die Lösung oder ?
28.05.2007 12:51:00
Oberschlumpf
arghhhh...mein Fehler!..sorry
Hi Walter
Meine Prüfzeile

If CDate(UFData.TextBox8.Text = Date Then


kann ja gar nicht so funktionieren wie gewünscht, weil ja das ganze Datum verglichen wird, ein Mitglied aber wohl eher nicht am 28.05.2007 geboren ist....hmm...ich war noch nich wach :)
ändere die obige Zeile mal so:


If Left(UFData.TextBox8.Text, 5) = Left(Date, 5) Then


Mit dieser Zeile werden nun nur noch die jeweils ersten fünf Zeichen, der Textbox - z Bsp 28.05 - mit den ersten fünf Zeichen des Datums verglichen.
Voraussetzung ist natürlich, dass das Geb-Datum vor der Prüfung im gleichen Format in der Textbox steht, wie das aktuelle Datum.
Oder versuch es so, und ersetze die obige Zeile mit dieser:


If Format(ActiveSheet.Range("B1").Value, "dd.mm.") = Format(UFData.TextBox8.Text, "dd.mm.")  _
Then


Funktioniert es nun?
Ciao
Thorsten
auch normal ist

Anzeige
Jetzt i.o. -)
28.05.2007 14:24:23
Walter
Hallo Thorsten,
ich hattauch einen Fehler gemacht, mußte Textbox 7 nehmen, da da das Geburtsjahr drin steht
und in der TB8 nur das Alter.
If Format(ActiveSheet.Range("B1").Value, "dd.mm.") = _
Format(UFData.TextBox7.Value, "dd.mm.") Then
schönen Sonntag/Montag noch !
mfg Walter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige