Hallo Werner,
danke für die überaus flinke Antwort. Dein Code läuft von der Idee her supi!
Ich habe gerade eine neue Stammdatendatei erhalten, wo sich die Datenstruktur etwas verändert hat. Ich habe deinen Code etwas anpassen können, soweit ich ihn verstehe.
Wenn ich jetzt noch die Geburtstagskinder Ohne EMail Adresse irgendwie raus filtern könnte, das die nicht mit übertragen werden, wäre es perfekt.
Option Explicit
Public Sub Geburtstagsliste()
Dim raBereich As Range, raZelle As Range, i As Long
Application.ScreenUpdating = False
Worksheets("Email").Range("B9:H27").ClearContents
With Worksheets("Stammdaten")
Set raBereich = .Range("D2:D" & .Cells(.Rows.Count, "D").End(xlUp).Row)
For Each raZelle In raBereich
If Month(raZelle) = Month(Date) Then
If Day(raZelle) = Day(Date) Then
With Worksheets("Email")
If .Cells(9, "F") = "" Then i = 9
raZelle.Offset(, -3).Copy
.Cells(i, "E").PasteSpecial Paste:=xlPasteValues
raZelle.Offset(, -2).Copy
.Cells(i, "F").PasteSpecial Paste:=xlPasteValues
raZelle.Offset(, 1).Copy
.Cells(i, "G").PasteSpecial Paste:=xlPasteValues
raZelle.Offset(, 9).Copy
.Cells(i, "H").PasteSpecial Paste:=xlPasteValues
raZelle.Offset(, 8).Copy
.Cells(i, "C").PasteSpecial Paste:=xlPasteValues
raZelle.Copy
.Cells(i, "I").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
i = i + 1
End With
End If
End If
Next raZelle
End With
Application.CutCopyMode = False
Set raBereich = Nothing
End Sub
Gruß Mathias
|