Microsoft Excel

Herbers Excel/VBA-Archiv

fortlaufende Datumsliste

    Betrifft: fortlaufende Datumsliste von: hagi
    Geschrieben am: 05.10.2003 12:59:27

    Hallo miteinander

    Ich muss eine automatische Datumsliste in Excel kreiren.
    Es sollte ein Datum eingegeben werden und dann die nächsten 24 Termine ausgeben. Die Termine sollten immer um 1 Woche verschoben sein.
    Also wenn ich den Sonntag 5.10.03 eingebe, dann sollte er alle darauffolgenede Sonntage ausgeben, also 12.10.03,19.10.03 usw.
    Es darf aber kein Termin an einem Feiertag bzw. in den Schulferien liegen, wenn doch muss er solange um eine Woche verschieben bis das Datum nicht mehr auf einen Feiertag bzw. Schulferie fällt.
    Ich habe zwei Spalten für Ferienbeginn und -ende gemacht, sowie auch die Feiertage. Sollte das Datum in diesen Spalten vorkommen, verschiebt er das ganze um 1 Woche. Jetzt aber zu meinem Problem, da ich das mit dem WENN()-Befehl mache, kann ich maximal nur 7 mal um eine Woche verschieben, was teilweise nicht reicht!
    Ein Befehl, der solange 7 addiert bis nicht mehr in den "Ferienspalten" vorkommt, ist mir leider nicht bekannt.

    Ein weiters Problem ist, dass die 24 automaisch errechneten Daten in eine Tabelle in Word exportiert werden müssen!?!

    Hätte vielleicht jemand einen Vorschlag/Tip wie ich das einfacher lösen könnte.
    Könnte man das direkt in Word lösen? Mit VBA?

    Vielen Dank schon mal für alle Antworten/Anregungen
    und noch einen schönen Sonntag

    hagi

      


    Betrifft: AW: fortlaufende Datumsliste von: Micha
    Geschrieben am: 05.10.2003 14:30:12

    Hallo hagi

    nur mal als ansatz

    =WENN(UND(A10+7>=$D$10;A10+7<=$D$11);A10+(7+7*RUNDEN(($D$11-A10)/7;0));A10+7)


    D10 und D11 sind die Ferien von bis


    Micha


      


    Betrifft: AW: fortlaufende Datumsliste von: Günther Oppold
    Geschrieben am: 06.10.2003 07:34:59

    Hi Hagi,

    angenommen Du willst in Tabelle1 A1 das Startdatum eingeben,
    dann würde ich
    in Tabelle2:
    Spalte A1:A50 = Termine der Feiertage
    Spalte C1:C50 = Termine für Ferienanfang
    Spalte D1:D50 = Termine für Ferienende
    Zelle A100: =Tabelle1!A1
    Zelle A101: =A100+7 - runterziehen bis A 140 (mind. 24 + 7 Wochen Ferien =31 Zeilen)
    in Zelle B100 =WENN(ISTFEHLER(VERGLEICH(A100;A$1:A$50;0)>=1);"";"Feiertag")&WENN(SUMMENPRODUKT((A100>=C$1:C$50)*(A100<=D$1:D$50)*1)>0;"Ferien";"")

    Tabelle1
    A5: {=INDIREKT("Tabelle2!A"&KKLEINSTE(WENN(Tabelle2!B$100:B$140="";ZEILE($100:$140));ZEILE()-4))} - runterziehen bis A30
    ARRAY-Formel: die geschweifte Klammer nicht eingeben, sondern die Formeleingabe abschließen mit Strg+Umsch+Enter

    Zum Exportieren: hast Du dich schon mal in WORD mit Einfügen / Objekt befasst?


    Günther


      


    Betrifft: AW: fortlaufende Datumsliste von: hagi
    Geschrieben am: 07.10.2003 00:02:17

    Hallo Günther

    Vielen, vielen Dank für Deine Superlösung!
    Habs zwar noch nicht ganz fertig, da noch einige Änderungen durchgeführt werden müssen; getestet habe aber schon einiges und es ist wirklich super.
    Genau so habe ich mir das vorgestellt!
    Mit dem Exportieren klappts auch wie gewünscht, wollte das nur erwähnen, da ich nicht wusste ob man das Problem vielleicht direkt in Word lösen könnte (evt. mit VBA)!


    Eine Frage hätte ich dann doch noch. Es ist zwar nicht so wichtig, aber es würde mich trotzdem interessieren.

    Beim Testen habe ich die gewünschten Daten von A1 bis A25 verschoben und die Eingabe des Startdatums auf B1 verlegt.
    Die Tabellen mit den aufaddierten Wochen(vorher A100 - A132) habe ich auf E1-E50 und die andere mit "Ferien"/"Feiertag" auf F1-F50.
    Deine andere Formel habe ich dann natürlich auch angepasst
    A1: {=INDIREKT("Tabelle2!E"&KKLEINSTE(WENN(Tabelle2!$F$1:$F$50="";ZEILE($1:$50));ZEILE()-4))}

    So hatte ich aber bei den ersten vier Daten (A1-A4) die Fehlermeldung #ZAHL!, bei den folgenden Zeilen funktionierte alles Bestens.
    Ist dieser Fehler von den ZEILE()-4)? oder weil ich die Feiertage von den gewünschten Daten getrennt habe? (Mit "Tabelle2!E" ist doch die ganze Tabelle E gemeint und bei dir war die ganze TabelleA gemeint, also mit Feiertage und den neuen, gewünschten Daten)

    Wie schon gesagt, ist es nicht so wichtig, da Deine Formel ja bestens funktioniert, jedoch würde ich einfach gerne für mich selbst wissen wo ich den Überlegungsfehler gemacht habe, bzw. damit ich die Formel richtig verstehe.

    Nochmals vielen Dank, natürlich auch an Micha für seinen Ansatz!
    Ich finde es echt toll wie einem hier geholfen wird!

    Gruss hagi


      


    Betrifft: ja genau.. von: Günther Oppold
    Geschrieben am: 07.10.2003 12:58:53

    Hi Hagi,

    Die Fehlermeldung #Zahl hängt mit Zeile()-4 zusammen:

    die letzte Berechnung Zeile()-4 ist für die Funktion KKleinste und sagt hier aus der wieviel-kleinste Betrag soll gesucht werden.
    Die Berechnung muss für den kleinsten Wert 1 ergeben, also in Zeile 5 Zeile()-4; in Zeile 1 wäre dies nur Zeile()

    Hier geschieht auch der meiste Fehler, wenn Du mit einer Berechnung in einer Formel mit Zeile() oder Spalte() arbeitest und später vor dieser Zelle Zeilen/Spalten einfügst, ist die Berechnung sofort falsch.

    Günther


      


    Betrifft: AW: ist ja logisch von: hagi
    Geschrieben am: 07.10.2003 17:57:47

    Hi Günther,

    jetzt ist es mir auch klar!
    Du hast Recht, genau diesen Fehler hatte ich auch schon bei einem anderen Dokument im Zusammenhang mit Spalte()!

    Danke nochmals, habe wieder einiges dazugelernt.

    Gruss hagi


     

    Beiträge aus den Excel-Beispielen zum Thema " fortlaufende Datumsliste"