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

Geburtstage

Geburtstage
21.01.2005 10:03:45
harry
Hallo Leute,
habe aus dem Forum ein Script kopiert und nach meinen Verhältnissen angepasst.
Leider läuft es nicht so!!
Wenn ich eine Mustertabelle nach dem Ursprünglichen umbaue, dann läuft es!1
Wer kann mir helfen?
Original:

Private Sub Workbook_Open()
'Datum steht in Spalte "A"
'Name Steht in Spalte "B"
'Adresse steht in Spalte "C"
Dim n As Integer
Dim rng As Range
Dim strText As String
Dim blnFound As Boolean
strText = "Anstehende Geburtstage:" & Space(125) & vbLf & vbLf & "Datum" & _
vbTab & vbTab & vbTab & "Name" & vbTab & vbTab & vbTab & "Adresse" & vbTab & _
vbTab & vbTab & "Zeile" & vbLf & vbLf
For Each rng In Sheets("Tabelle1").Range("A1:A1500")
'Tabellenname und Bereich anpassen
If IsDate(rng) Then
If DateDiff("d", Date, DateSerial(Year(Date), _
Month(rng), Day(rng)), vbMonday) < 7 Then
blnFound = True
'"Offset() anpassen!
strText = strText & Format(rng, "ddd dd.mm") & vbTab & vbTab & vbTab & _
rng.Offset(0, 1) & vbTab & vbTab & vbTab & rng.Offset(0, 2) & _
vbTab & vbTab & rng.Row & vbLf
End If
End If
Next
If blnFound Then
MsgBox strText & vbLf & vbLf, , "Geburtstage"
End If
End Sub

Mein Umbau:
'Tabellenaufbau:
'Spalte A "Anrede"
'Spalte B "Vorname"
'Spalte C "Name"
'Spalte D "Zusatz1"
'Spalte E "Zusatz2"
'Spalte F "Str. Hnr."
'Spalte G "Plz"
'Spalte H "Ort"
'Spalte I "Geburtstag"
'

Private Sub Workbook_Open()
Dim n As Integer
Dim rng As Range
Dim strText As String
Dim blnFound As Boolean
strText = "Anstehende Geburtstage in den nächsten Tagen:" & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab
For Each rng In Sheets("Daten").Range("A1:A5000")
If IsDate(rng) Then
If DateDiff("d", Date, DateSerial(Year(Date), _
Month(rng), Day(rng)), vbMonday) < 10 Then
blnFound = True
strText = strText & rng.Offset(0, 9) & Format("ddddddd dd.mm") & vbTab & rng.Offset(0, 1) & vbTab & rng.Offset(0, 2) & vbTab & rng.Offset(0, 6) & vbTab & rng.Offset(0, 7) & vbTab & rng.Offset(0, 8) & vbTab & vbTab & vbLf
End If
End If
Next
If blnFound Then
MsgBox strText & vbLf & vbLf, , "Kundengeburtstage"
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Geburtstage
21.01.2005 10:43:47
Josef
Hallo Harry!
Wenn die Geburtsdaten in Spalte "I" stehen, dann musst du auch dort
nach dem Datum suchen!

Private Sub Workbook_Open()
Dim n As Integer
Dim rng As Range
Dim strText As String
Dim blnFound As Boolean
strText = "Anstehende Geburtstage in den nächsten Tagen:" & vbTab & vbTab & _
vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab
For Each rng In Sheets("Daten").Range("I1:I5000")
If IsDate(rng) Then
If DateDiff("d", Date, DateSerial(Year(Date), _
Month(rng), Day(rng)), vbMonday) < 10 Then
blnFound = True
strText = strText & Format(rng, "ddddddd dd.mm") & vbTab & rng.Offset(0, -8) & _
vbTab & rng.Offset(0, -7) & vbTab & rng.Offset(0, -6) & vbTab & _
rng.Offset(0, -2) & vbTab & rng.Offset(0, -1) & vbTab & vbTab & vbLf
End If
End If
Next
If blnFound Then
MsgBox strText & vbLf & vbLf, , "Kundengeburtstage"
End If
End Sub

Gruß Sepp
Anzeige
AW: Geburtstage
harry
o Sepp,
manchmal ist man Blind!!!!!!!
Danke!!
Du bist aber auch ständig am arbeiten!!
Heute Nacht um 3 und jetzt schon wieder!!
Gruß
Harry

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige