Thema Datum  Von Nutzer Rating
Antwort
27.04.2007 07:45:14 Tobias F.
NotSolved
30.04.2007 09:39:39 Rasta
NotSolved
Rot Aw:GEBURTSTAGSLISTE!
02.05.2007 15:07:06 Maddin
NotSolved

Ansicht des Beitrags:
Von:
Maddin
Datum:
02.05.2007 15:07:06
Views:
1127
Rating: Antwort:
  Ja
Thema:
Aw:GEBURTSTAGSLISTE!
Hallo Tobias,

Also.. die Funktion Datediff dürfte dir helfen! Ausserdem kannst du einfach die Liste nach Datum sortieren und mit dem normalen Sverweis (Excel-Standardformel) arbeiten.
Ansonsten müsstest du doch nur a entsprechend "umrechnen" in deinen formeln, also:
Vor Zwei Tagen geburtstag
For zeile = 5 To Range("c65536").End(xlUp).Row
If Day(Cells(zeile, 3)) < a and a - Day(Cells(zeile, 3)) <=2 And Month(Cells(zeile, 3)) = b Then
Achtung.L_Name.Caption = Cells(zeile, 2) & " " & Cells(zeile, 1)
Achtung.L_Alter.Caption = Cells(zeile, 5)
Achtung.L_Tage.Caption = Cells(zeile, 6)
Achtung.Show
c = c + 1
End If
Next zeile
Ich habs net probiert aber so könnte es klappen.. im schlimmsten Fall musst du a und den Day abschnitt vorher noch in byte umwandeln (Cbyte(a), Cbyte(Day(....))
in meiner Anweisung wurde halt nur geprüft, ob der Tag kleiner als der heutige Tag ist, Ob der Tagesunterschied auch kleiner bzw. = 2 ist und ob der Tag auch im selben Monat ist. Wenn der Debugger meckert musst du n bissl spielen.. habs nicht getestet, aber die Richtung sollte passen ;)
Ich hoffe, das hat geholfen!

Gruß,

Maddin

Tobias F. schrieb am 27.04.2007 07:45:14:

Hallo Forum!

Ich bin gerade dabei eine automatisierte Geburtstagliste mit VBA zu fertigen!

Ich bin auch schon recht weit gekommen, obwohl ich davon eigentlich keine Ahnung habe :-)!

Aber hier nun mein Problem:

Das Programm ist momentan so gestrickt, dass es mir nur Geburtstage meldet, die auf den Tag fallen!

Ich hätte das jetzt auch gerne so, dass es mir Geburtstage meldet, die z. B. vor einer Woche oder vor zwei Tagen waren oder die, die z. B. in einer Woche oder zwei Tagen sind! (ich hoffe, dass ist soweit verständlich?!)

Hier mein bisheriger Code:

Sub Workbook_open()

Application.DisplayFullScreen = True
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Worksheets("Geburtstag").Activate
Application.DisplayFormulaBar = False
Application.DisplayStatusBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.ScreenUpdating = True

c = 0
a = Day(Date)
b = Month(Date)

If Cells(5, 1) = "" Then
Info = MsgBox("Heute hat keiner Geburtstag", vbInformation, "Kein Geburtstag!")
Exit Sub
End If

For zeile = 5 To Range("c65536").End(xlUp).Row
If Day(Cells(zeile, 3)) = a And Month(Cells(zeile, 3)) = b Then
Achtung.L_Name.Caption = Cells(zeile, 2) & " " & Cells(zeile, 1)
Achtung.L_Alter.Caption = Cells(zeile, 5)
Achtung.L_Tage.Caption = Cells(zeile, 6)
Achtung.Show
c = c + 1
End If
Next zeile

For zeile = 5 To Range("c65536").End(xlUp).Row
If Day(Cells(zeile, 3)) = a And Month(Cells(zeile, 3)) = b Then
Achtung.L_Name.Caption = Cells(zeile, 2) & " " & Cells(zeile, 1)
Achtung.L_Alter.Caption = Cells(zeile, 5)
Achtung.L_Tage.Caption = Cells(zeile, 6)
Achtung.Show
c = c + 1
End If
Next zeile

If c = 0 Then Info = MsgBox("Heute hat keiner Geburtstag", vbInformation, "Kein Geburtstag!")

End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.04.2007 07:45:14 Tobias F.
NotSolved
30.04.2007 09:39:39 Rasta
NotSolved
Rot Aw:GEBURTSTAGSLISTE!
02.05.2007 15:07:06 Maddin
NotSolved