Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Geburtstage anzeigen - Was ist falsch?

Geburtstage anzeigen - Was ist falsch?
Ina
Hallo Forum,
ich möchte mit folgendem Makro checken, wer in Kürze Geburtstag hat. Irgendwie klappt das aber nicht.
Das Geburtsdatum steht in der Tabelle "Geburtstag" in der Spalte H (ab H4).
Wer kann mir helfen?
Danke und Grüsse, Ina

Private Sub CHECK_GEBURTSTAG()
ActiveSheet.Protect Password:=""
Beep
Dim Meldung1 As String, Meldung2 As String, i As Long, Differenz As Integer
i = 2
Do Until Cells(i, 1).Value = ""
Differenz = DateDiff("d", Date, DateSerial(Year(Date), Month(Cells(i, 3).Value), Day(Cells( _
i, 3).Value)))
If Differenz = 0 Then
Meldung1 = Meldung1 & Chr(10) & Cells(i, 3) & " " & Cells(i, 2) & " " & Cells(i, 1) & _
" wird heute " & Year(Date) - Year(Cells(i, 3).Value) & " Jahre alt!"
End If
If Differenz > 0 And Differenz  "" Then
MsgBox "Geburtstage in den nächsten 10 Tagen:" & Chr(10) & Meldung2, , "Info"
Else
MsgBox "Keine Geburtstage in den nächsten 10 Tagen!", , "Info"
End If
End If
End Sub


AW: Geburtstage anzeigen - Was ist falsch?
02.02.2008 10:54:00
Daniel
Hi
kann auch nicht funktionieren, weil dein Makro dafür geschrieben ist, daß die Geburtstage in Spalte C stehen (CELLS(i, 3)).
dh. du musst entweder dein Liste so umbauen, daß die Geburtstage in C stehen (Vor- und Nachnamen in A und B)
oder du musst dein Marko anpassen und sämtliche CELLS(i, 3) in CELLS(i, 8) abändern.
Das geht relativ Fix mit BEARBEITEN-ERSETZEN
Gruß, Daniel

AW: Geburtstage anzeigen - Was ist falsch?
Ina
Hallo Daniel,
danke für Deinen Beitrag.
Leider muss ich ein "Aber" hinzufügen... Das klappt so auch nicht!
Hast Du eine weitere Idee?
Gruss, Ina

AW: Geburtstage anzeigen - Was ist falsch?
02.02.2008 11:37:00
Daniel
Hi
habs selber bei mir ausprobiert, klappt wunderbar
guckst du: https://www.herber.de/bbs/user/49596.xls
ohne deine Datei zu kennen kann dir leider nicht helfen.
Gruß, Daniel

Anzeige
AW: Geburtstage anzeigen - Was ist falsch?
02.02.2008 11:03:41
ingUR
Hallo, @Ina,
Hier zwei Punkte, die mir beim ersten Lesen der Befehlszeilen aufgefallen sind:
1. Die Zuweisung i = 2 ggf. durch i = 4 ersetzen, da sonst der erste Abgleich mit der Uelle A2 erfolgt und wenn dort nichts steht, dann wird die Zeile 4 nicht erreicht.
2. Die Spalte H hat die Nummer 8 und nicht die Nummer 3, so dass mit der Spalte 3 (C) ein Namenstei agesprochen wird, wo doch der Bestandtaeil aus dem Geburstag gezogen werden soll,
Vielleicht werden daurch schon die Fehler behoben. Ansonsten wäre es nett, wenn Du kurz beschreibst, was nicht Deinen Vorstellungen entspricht.
Gruß,
Uwe

Anzeige
AW: Geburtstage anzeigen - Was ist falsch?
Ina
Hallo Uwe,
danke für Deine Hilfe.
Ich habe den Code nach Deinen Angaben geändert, aber es wird leider weiterhin kein Geburtstag gefunden.
Hast Du noch eine Idee?
Vielleicht noch einmal der Aufbau der Tabelle:
Spalte (alle beginnend in Zeile 4)
C = Name
D = Vorname
F = keine Eingaben
G = Geburtsname
H = Geburtsdatum
I = Alter
...
Hast Du noch eine Idee, wo es hapern könnte?
Gruss, Ina

AW: Geburtstage anzeigen - Was ist falsch?
02.02.2008 11:13:16
Volti
Hallo Ina,
wenn Du die Tipps meiner Vorgänger beachtet hast, hier noch ein Tipp:
Für die Differenzen der vergangenen 10 Tage ergeben sich bei Deiner Formel negative Werte, so dass die Bedingung >1 und Differenz = (DateDiff("d", Date, DateSerial(Year(Date), Month(Cells(i, 3).Value), Day(Cells(i, 3).Value)))*-1)
viele Grüße
Karl-Heinz aus Freigericht

Anzeige
AW: Geburtstage anzeigen - Was ist falsch?
Ina
Hallo Karl-Heinz,
jetzt sieht der Code so aus... Und funktioniert immer noch nicht...
Hast Du noch eine Idee?
Gruss, Ina

Private Sub CHECK_GEBURTSTAG()
ActiveSheet.Protect Password:=""
Beep
Dim Meldung1 As String, Meldung2 As String, i As Long, Differenz As Integer
i = 4
Do Until Cells(i, 1).Value = ""
Differenz = DateDiff("d", Date, DateSerial(Year(Date), Month(Cells(i, 8).Value), Day(Cells( _
i, 8).Value)))
If Differenz = 0 Then
Meldung1 = Meldung1 & Chr(10) & Cells(i, 8) & " " & Cells(i, 2) & " " & Cells(i, 1) & _
" wird heute " & Year(Date) - Year(Cells(i, 8).Value) & " Jahre alt!"
End If
If Differenz = (DateDiff("d", Date, DateSerial(Year(Date), Month(Cells(i, 8).Value), Day( _
Cells(i, 8).Value))) * -1) Then
Meldung2 = Meldung2 & Chr(10) & Format(Differenz, "00") & " Tage:" & " " & Cells(i, 8). _
Value & " " & _
Cells(i, 2).Value & " " & Cells(i, 1).Value
End If
i = i + 1
Loop
If MsgBox("Geburtstage:" & Chr(10) & Meldung1, vbOKCancel, "Info") = vbOK Then
If Meldung2  "" Then
MsgBox "Geburtstage in den nächsten 10 Tagen:" & Chr(10) & Meldung2, , "Info"
Else
MsgBox "Keine Geburtstage in den nächsten 10 Tagen!", , "Info"
End If
End If
End Sub


Anzeige
AW: Geburtstage anzeigen - Was ist falsch?
02.02.2008 11:24:00
Erich
Hallo Ina,
schau dir das mal an:

Option Explicit
Private Sub CHECK_GEBURTSTAG()
Dim sMldg1 As String, sMldg2 As String, lR As Long, iDiff As Integer
Const iVn As Integer = 3   ' Spalte C - Vornamen
Const iNn As Integer = 4   ' Spalte D - Nachnamen
Const iG As Integer = 8    ' Spalte H - Geburtstage
ActiveSheet.Protect Password:=""
Beep
sMldg1 = "Geburtstage:" & vbLf
lR = 4
Do Until IsEmpty(Cells(lR, iVn))
iDiff = DateSerial(Year(Date), Month(Cells(lR, iG)), Day(Cells(lR, iG))) - Date
If iDiff  "" Then
MsgBox "Geburtstage in den nächsten 10 Tagen:" & vbLf & sMldg2, , "Info"
Else
MsgBox "Keine Geburtstage in den nächsten 10 Tagen!", , "Info"
End If
End If
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Geburtstage anzeigen - Was ist falsch?
Ina
Hallo Erich,
genau so sollte das funktionieren. Herzlichen Dank!
Grüsse von Osnabrück nach Kamp-Lintfort.
Ich wünsche ein schönes Wochenende.
Grüsse, Ina

Danke für Rückmeldung, auch schönes WoEnde! (oT)
02.02.2008 11:33:00
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige