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

Geburtstage rückwirkend anzeigen

Geburtstage rückwirkend anzeigen
07.12.2004 09:18:33
Andreas
Hallo Leute,
untenstehender Code hatte ich hier aus dem Forum.Er zeigt mir Geburtstage an per Msg-Box.Das Geburtsdatum steht in Spalte C. Wie ändere ich den Code das er mir auch eine Meldung ausgibt wenn jemand gestern bzw.vorgestern Geburtstag hatte.
Es ist eine Mitarbeiterliste und wenn sie Montags geöffnet wird und jemand hatte Samstags Geburtstag soll er auch noch angezeigt werden.
Vielen Dank
Andreas

Private Sub Workbook_Open()
Dim lZeile, i, Geb
Worksheets("Mitarbeiter").Select
Geb = 10
Columns(1).Interior.ColorIndex = xlNone
lZeile = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lZeile
If Month(Cells(i, 3)) = Month(Date) And Day(Cells(i, 3)) = Day(Now) Then
MsgBox Cells(i, 1) & ", " & Cells(i, 2) & Chr(13) & "hat heute Geburtstag" & Chr(13) _
& "und wird " & DateDiff("yyyy", Cells(i, 3), Date) & " Jahre alt"
Cells(i, 1).Interior.ColorIndex = 4
End If
If DateDiff("d", DateSerial(Year(Now + Geb), Month(Cells(i, 3)), Day(Cells(i, 3))), Date) > Geb * -1 And _
DateDiff("d", DateSerial(Year(Now + Geb), Month(Cells(i, 3) + Geb), Day(Cells(i, 3) + Geb)), Date) < Geb * -1 Then
MsgBox Cells(i, 1) & ", " & Cells(i, 2) & Chr(13) & "hat am" & Chr(13) _
& DateSerial(Year(Now), Month(Cells(i, 3)), Day(Cells(i, 3))) _
& " Geburtstag"
Cells(i, 1).Interior.ColorIndex = 35
End If
Next i
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Geburtstage rückwirkend anzeigen
07.12.2004 10:47:08
Steffen
Hallo Andreas,
erstens verstehe ich die zweite if-schleife noch nicht ganz: Warum berechnest du die Differenz in Tagen zu einem Geburtstag in 10 Jahren? Oder sollte das nur für eine Woche gelten - im Voraus gesehen?
zweitens: um dir einen vergangenen Geburtstag dir anzeigen zu lassen versuchs mal mit der folgenden Schleife:
If Month(Cells(i, 3)) = Month(Date) And DateDiff("d",DateSerial(Year(Now), Month(Cells(i, 3)), Day(Cells(i, 3))), Date)0 Then
MsgBox Cells(i, 1) & ", " & Cells(i, 2) & Chr(13) & "hatte Geburtstag am " & Chr(13) _
& "und wurde " & DateDiff("yyyy", Cells(i, 3), Date) & " Jahre alt"
Cells(i, 1).Interior.ColorIndex = 4
End If
Da das dir auch an einem Donnerstag die Geburtstage vom Montag nochmal anzeigen würde einfach nochmal entweder kapseln mit if-then oder einfach die bestehende if-then Schleife erweitern mit And weekday(Date) = 2
Sollte deine Frage gelöst haben.
Gruss,Steffen.
Anzeige
DANKE o.T.
07.12.2004 12:40:08
Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige