Clever-Excel-Forum

Normale Version: Geburtstag erinnerung leere Zellen überspringen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

Ich habe eine Geburtstag Makro von hier funktioniert auch. Aber zeig mir als Erinnerung auch die leere Zellen.
Ich habe von F4:F53 ´da zwischen 10 leere Zellen nach Familien eingestellt damit man erkennt.
Kann man diese Code ändern? bei dem leere Zellen keine Erinnerung gibt.


Sub Geburtstageanzeigen()
 
 Dim rngZelle As Range
 Dim wks As Worksheet
 
 Set wks = ThisWorkbook.Worksheets("Geburtstage")
 For Each rngZelle In wks.Range("F4:F53")
If Month(rngZelle.Value) = Month(Date) And Day(rngZelle.Value) = Day(Date) Then
 MsgBox rngZelle.Offset(, -4).Value & " " & rngZelle.Offset(, -3).Value & " " & " hat heute Geburtstag und wird " & rngZelle.Offset(, 3).Value & " Jahre alt!", vbInformation, "Geburtstag!"
 End If
 
 Next rngZelle
 Set wks = Nothing
 End Sub


Danke
Hallo,
Sub Geburtstageanzeigen()

Dim rngZelle As Range
Dim wks As Worksheet

Set wks = ThisWorkbook.Worksheets("Geburtstage")
For Each rngZelle In wks.Range("F4:F53")
If IsDate(rngZelle.Value) Then
If Month(rngZelle.Value) = Month(Date) And Day(rngZelle.Value) = Day(Date) Then
MsgBox rngZelle.Offset(, -4).Value & " " & rngZelle.Offset(, -3).Value & " " & " hat heute Geburtstag und wird " & rngZelle.Offset(, 3).Value & " Jahre alt!", vbInformation, "Geburtstag!"
End If
End If
Next rngZelle
Set wks = Nothing
End Sub
Gruß Uwe
Moin!
Als Spässeken für ein aktuelles Excel:

ABCD
1GebDatNameHeute haben Geburtstag: G und W
231.12.1991A
329.12.1977B
428.12.1988D
530.12.1959G
629.12.2018I
731.12.2015P
828.12.2001T
930.12.1999W

ZelleFormatWert
D1;;;"Heute haben Geburtstag: "@G und W

ZelleFormel
D1=TEXTVERKETTEN(" und ";1;FILTER(B2:B9;TEXT(A2:A9;"MMTT")=TEXT(HEUTE();"MMTT")))

Gruß Ralf

Wenn man meine Formel betrachtet, geht der Geburtstagsvergleich einfacher als in obigem Code:

Statt
If Month(rngZelle.Value) = Month(Date) And Day(rngZelle.Value) = Day(Date) Then

kann man nehmen
If Format(rngZelle, "mmdd") = Format(Date, "mmdd") Then
Ich Danke euch allen.
Es funktioniert wunderbar:

Danke