Microsoft Excel

Herbers Excel/VBA-Archiv

Datumsuche per VBA

    Betrifft: Datumsuche per VBA von: Harald
    Geschrieben am: 28.08.2003 15:47:11

    Hallo,
    ich habe ein Makro, das in Tabelle1 in die Zelle mit dem heutigen Datum
    springt.
    Wenn dieses Datum aber ein Feiertag oder Wochenende ist,
    soll der Cursor auf das letzte Datum, welchens ein Arbeitstag war springen.
    Kann mir da jemand helfen?
    schon jetzt vielen Dank

      


    Betrifft: AW: Datumsuche per VBA von: PeterW
    Geschrieben am: 28.08.2003 18:38:19

    Hallo Harald,

    wie sieht denn das Makro aus, das zum heutigen Datum springt und wie könnte Excel erkennen, dass es sich um einen Feiertag handelt? Die Frage, on die Daten zeilen- oder spaltenweise angeordnet sind beantwortet vielleicht der Code aber was ist mit dem 1.1. eines Jahres?

    Gruß
    Peter


      


    Betrifft: AW: Datumsuche per VBA von: Harald
    Geschrieben am: 29.08.2003 07:52:52

    Sub Datum_suchen()
    
        z = Cells.Find(What:=Date - 1, After:=Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Row
        Rows(z).Copy
        Rows(z).PasteSpecial Paste:=xlValues
        Application.CutCopyMode = False
        
        End Sub
    



      


    Betrifft: AW: Datumsuche per VBA von: PeterW
    Geschrieben am: 29.08.2003 12:24:36

    Hallo Harald,

    ebenso knapp:

    Weekday(Date)

    Gruß
    Peter


      


    Betrifft: AW: Datumsuche per VBA von: Harald
    Geschrieben am: 29.08.2003 13:58:45

    Hallo Peter,
    könntest Du mir mal auf Pferd helfen? So "fortgeschritten" bin ich leider noch nicht.... Was soll mir Deine Antwort sagen?
    Gruß und schönes WE


      


    Betrifft: AW: Datumsuche per VBA von: PeterW
    Geschrieben am: 29.08.2003 15:45:03

    Hallo Harald,

    mit Weekday kannst du den Wochentag eines Datums ermitteln (sieh mal in die VBA-Hilfe). Lies Date in eine Datumsvariable ein und prüfe, um welchen Wochentag es sich handelt. Vermindere die Variable bei Sonntag um 2 und bei Samstag um eins.

    Leider hast du nicht geschrieben, wie Excel einen Tag als Feiertag erkennt. Zur Ermittlung der beweglichen Feiertage benutze die Osterformel (findest du auch hier im Forum, am einfachsten bei Google.de suchen nach Osterformel site:herber.de). Jetzt musst du nur noch prüfen, ob die Datumsverschiebung aufgrund eines Feiertages das Suchdatum auf ein Wochenende legt (Ostermontag beispielsweise).

    Mit der jetzt passenden Datumsvariablen gehst du auf Suche in deiner Tabelle.

    Gruß
    Peter