263 Aufrufe
Gefragt in Tabellenkalkulation von jelena Mitglied (750 Punkte)

Hallo guten Tag, bräuchte eine Formel für „Wer hat (hätte) als nächstes Geburtstag“ es sollten (laut angefügter Datei) in Spalte G2 bis G6 die ersten 5 Personen berechnet werden. Sollte eine angezeigte Person verstorben sein so sollte anstatt hat     hätte ausgegeben werden. Danke

https://supportnet.de/forum/?qa=blob&qa_blobid=8755643807399763212

12 Antworten

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)

Ändere den gesamten Teil nach der 1. For-Next-Schleife wie folgt:

    Range("U2").Resize(lngLetzte - 2, 2) = arrDaten()
    Range(Cells(2, 21), Cells(lngLetzte, 22)).Sort key1:=Range("V2"), order1:=xlAscending, Header:=xlNo
    Dim lngJahr As Long
    Range("T2:T6").Font.ColorIndex = xlAutomatic
    For lngZaehler = 2 To 6
        lngZeile = Cells(lngZaehler, 21) + 1
        If Cells(lngZaehler, 22) = Date Then
            lngJahr = Cells(lngZeile, 5)
            Cells(lngZaehler, 20).Font.Color = vbBlue
        Else
            lngJahr = Cells(lngZeile, 5) + 1
        End If
        If Cells(lngZeile, 4) = "" Then
            Cells(lngZaehler, 20) = Cells(lngZeile, 2) & " hat am " & Format(Cells(lngZaehler, 22), "ddd. dd.mmm.yyyy") & " den " & lngJahr & ". Geburtstag"
        Else
            Cells(lngZaehler, 20) = Cells(lngZeile, 2) & " hätte am " & Format(Cells(lngZaehler, 22), "ddd. dd.mmm.yyyy") & " den " & lngJahr & ". Geburtstag"
        End If
    Next lngZaehler
    Range(Cells(2, 21), Cells(lngLetzte, 22)).ClearContents

Bis später, Karin

0 Punkte
Beantwortet von jelena Mitglied (750 Punkte)
Danke Karin, mein erster Test ist gut verlaufen.
...