Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Geburtstagsdaten umstrukturieren
#11
Hallo zusammen,

diese Aufgabe würde ich eher mit VBA lösen, z.B. mit folgendem Code:


Code:
Sub daten_listen()

 Dim i As Long, j As Long, k As Long
 Dim lngZ As Long
 Dim lngA As Long
 Dim lngSchrittweite As Long
 Dim datSerie As Date
 Dim lngJahr As Long
 lngJahr = Year(Date) 'es wird das Aktuelle Jahr genommen; soll ein anderes Jahr genommen werden , dann Year(Date) mit der Jahreszahl ersetzen

 Application.ScreenUpdating = False
 Sheets("Namenslisten").Cells.Clear 'in dieser Tabelle sollen die Listen entstehen
 With Sheets("Geburtstage")  'in dieser Tabelle stehen die Namen und Geburtstage in Spalte A
   lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row
   lngA = 2  'in dieser Zeile steht der erste Name
   lngSchrittweite = 3 'das nächste immer so viele Zeilen weiter unten
   
   k = 1
   For j = lngA To lngZ Step lngSchrittweite
     For datSerie = DateSerial(lngJahr, Month(.Cells(j + 1, 1)), 1) To DateSerial(lngJahr, Month(.Cells(j + 1, 1)) + 1, 1) - 1
        Sheets("Namenslisten").Cells(i + 1, k) = .Cells(j, 1)
        Sheets("Namenslisten").Cells(i + 1, k + 1) = datSerie
       i = i + 1
     Next datSerie
     k = k + 4
     i = 0
   Next j
 End With
 Application.ScreenUpdating = True

End Sub


Ausgangslage in Tabelle Geburtstage stehen die Namen und Geburtstage in Spalte A (siehe auch Kommentare im Code)
Die Listen entstehen in Tabelle Namenslisten

So sehe das Ergebnis nach Ausführung des Makros aus:

Arbeitsblatt mit dem Namen 'Namenslisten'
 ABCDEFGHIJKLMN
1Hans Dampf01.01.2017  Igor Meyer01.01.2017  Tina Turner01.02.2017  Egon Balder01.03.2017
2Hans Dampf02.01.2017  Igor Meyer02.01.2017  Tina Turner02.02.2017  Egon Balder02.03.2017
3Hans Dampf03.01.2017  Igor Meyer03.01.2017  Tina Turner03.02.2017  Egon Balder03.03.2017
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

natürlich bis zum Monatsende

Arbeitsblatt mit dem Namen 'Namenslisten'
 ABCDEFGHIJKLMN
26Hans Dampf26.01.2017  Igor Meyer26.01.2017  Tina Turner26.02.2017  Egon Balder26.03.2017
27Hans Dampf27.01.2017  Igor Meyer27.01.2017  Tina Turner27.02.2017  Egon Balder27.03.2017
28Hans Dampf28.01.2017  Igor Meyer28.01.2017  Tina Turner28.02.2017  Egon Balder28.03.2017
29Hans Dampf29.01.2017  Igor Meyer29.01.2017      Egon Balder29.03.2017
30Hans Dampf30.01.2017  Igor Meyer30.01.2017      Egon Balder30.03.2017
31Hans Dampf31.01.2017  Igor Meyer31.01.2017      Egon Balder31.03.2017
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg


Sollten große Datenmengen vorliegen, dann kann der Code auch angepast werden, damit es schneller geht.
Gruß Atilla
Antworten Top
#12
Hallöchen,

freut mich, dass auch ein paar Tage alte Themen wieder zu neuer Diskussion und neuen oder alternativen Lösungen führen. Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste