Office: Datum in VBA 97 auf letzten Werktag zurücksetzen

Helfe beim Thema Datum in VBA 97 auf letzten Werktag zurücksetzen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, wie schon zich mal erwähn, ich bin VBA-Laie und benötige mal wieder eure Hilfe :oops: Zur Bearbeitung von Adressen verwenden wir eine... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von utitti, 9. Februar 2010.

  1. utitti Erfahrener User

    Datum in VBA 97 auf letzten Werktag zurücksetzen


    Hi,

    wie schon zich mal erwähn, ich bin VBA-Laie und benötige mal wieder eure Hilfe Datum in VBA 97 auf letzten Werktag zurücksetzen :oops:

    Zur Bearbeitung von Adressen verwenden wir eine Maske, die in VBA erstellt wurde. Da wir immer die Ergebnisse des letzten Werktages bearbeiten, soll auch dieser in der Maske und danach natürlich auch in der Exceltabelle auftauchen.

    Zur Zeit steht diese Funktion so in VBA

    'Setze Datumsfeld auf aktuelles Datum
    Me.telefondatumTB.value = Date - 1

    Wie ihr sicherlich erkennt, nimmt das so keine Rücksicht auf Wochenenden und Feiertage.

    Ich vermute, dass ich dazu überhaupt erst mal eine Liste der Feiertage für unser Bundesland erstellen muss. In welcher Form muss ich dies dann tun? Ein Tabellenblatt mit verschiedenen benannten Bereichen habe ich bereits in der Datei, auf die die Maske auch zugreift, allerdings sind das ganz andere Informationen mit denen er auch nicht groß "weiterrechnen" muss. Am liebsten wäre es mir in diesem Tabellenblatt auch eine Tabelle mit den Feiertagen zu erstellen, so kann ich anhand der anderen Daten in diesem Blatt besser "abgucken/ -ableiten".

    Könnt ihr mir denn eventuell eine Lösung vorschlagen?

    GLG und vielen Dank im Voraus,
    utitti
     
  2. Exl121150 Erfahrener User
    Hallo,

    in Excel2003 bzw. Excel2007 gibt es im Arbeitsblatt die Funktion ARBEITSTAG(Ausgangsdatum;TageBis;Feiertagstabelle)
    Ich weiß nicht, ob es diese Funktion fürs Arbeitsblatt bereits in Excel97 gibt - eine neuere Version würde sicherlich nicht schaden, denn eine Hilfe zu geben, ist da nicht mehr ganz einfach.

    Da Du die Funktion in VBA verwenden möchtest, so lautet die entsprechende Funktion:
    Worksheetfunction.WorkDay(Ausgangsdatum,TageBis,BereichFeiertage)
    Diese funktioniert genauso wie die vorhin genannte Arbeitsblattfunktion ARBEITSTAG(...).
    Ausgangsdatum ist das Datum, von dem weg gerechnet wird.
    TageBis sind die Anzahl Arbeitstage, die vom Ausgangsdatum weitergezählt wird (falls positiv); falls negativ, so wird zurückgezählt.
    Feiertagstabelle bzw. BereichFeiertage ist der benannte Bereich im Arbeitsblatt, der eine Liste mit Datumsangaben enthält (eben lauter Feiertage).
    Die Funktion rechnet dabei beim Wert für TageBis nicht die Samstage, Sonntage und Feiertage mit - also sie zählt eben nur die Arbeitstage.

    Da Du den letzten Arbeitstag haben möchtest, müsste schließlich vorige VBA-Funktion lauten:
    Worksheetfunction.WorkDay(Date,-1,Range("Feiertagstabelle"))

    Dabei bedeutet "Feiertagstabelle" den Namen für den benannten Bereich im Arbeitsblatt, der die Feiertagsdaten enthält; man kann hier jeden belieben Namen verwenden (jeweils eingeschlossen in Anführungszeichen), solange er identisch ist mit dem Bereichsnamen im Arbeitsblatt. Falls dieser Name nur innerhalb des betreffenden Arbeitsblattes gelten sollte (der in anderen Arbeitsblättern nicht verwendbar ist), muss natürlich noch der Name des Arbeitsblattes eingefügt werden - mit einem Ausrufezeichen dazwischen:
    Worksheetfunction.WorkDay(Date,-1,Range("ArbeitsblattName!Feiertagstabelle"))

    Voriger VBA-Code müsste in etwa so ausschauen:
    oder
     
    Exl121150, 9. Februar 2010
    #2
Thema:

Datum in VBA 97 auf letzten Werktag zurücksetzen

Die Seite wird geladen...
  1. Datum in VBA 97 auf letzten Werktag zurücksetzen - Similar Threads - Datum VBA Werktag

  2. PDF mit Namen,Datum speichern im Zielordner

    in Microsoft Excel Hilfe
    PDF mit Namen,Datum speichern im Zielordner: Hallo, habe das Problem den Namen in Zelle D2, Vorname in Zelle D5 , das Datum steht in der Zelle B 10 und soll beim speichern so angezeigt werden (Max Mustermann 2023 Oktober) wie und wo muß ich...
  3. Datum und Tag in Tabellenreiter einragen VBA

    in Microsoft Excel Hilfe
    Datum und Tag in Tabellenreiter einragen VBA: Ich habe ein VBA das mir im Tabellenblatt das Format zB. "08.08.2023" auswirft. Sub BlätterEinfügen() Dim Last As Integer, i As Integer Application.ScreenUpdating = False With ActiveSheet Last =...
  4. VBA Zeitdifferenz ermitteln

    in Microsoft Excel Hilfe
    VBA Zeitdifferenz ermitteln: Hallo zusammen, ich kriege es einfach nicht hin, kann mir bitte jemand helfen? Gegeben: Ein Excelsheet mit zwei Einträgen: A2=Datum/Zeit : 22.03.2023 19:05:32 B2=Zeit: 19:04:23 Gesucht: Abs....
  5. VBA mit Variable suchen und datum setzen?

    in Microsoft Excel Hilfe
    VBA mit Variable suchen und datum setzen?: Hallo ich sitze vor folgendem Problem. in der Zelle C3 habe ich einen Wert der sich durch ein Makro ändert. Diese Zahl ist auch gleich der Spalte A 9 bis 70. Nun möchte ich ein Makro, dass mir...
  6. Zellen per VBA sperren wenn Datum erreicht

    in Microsoft Excel Hilfe
    Zellen per VBA sperren wenn Datum erreicht: Hallo, ich benötige Hilfe bei einer Erstellung eines VBA Codes (Excel). Ich würde gerne das die Zellen B5:AF33 automatisch gesperrt werden, wenn das Datum in Zelle B1 größer wie in Zelle AO30...
  7. Tabellenübersicht aus mehreren Tabellen nach Datum sortieren

    in Microsoft Excel Hilfe
    Tabellenübersicht aus mehreren Tabellen nach Datum sortieren: Hallo, ich habe eine Tabelle für die Autowartung erstellt und möchte nun eine Übersichtseite als "Deckblatt" erstellen auf dem man alle wichtigen Daten sehen kann. Es gibt für alles auf einem...
  8. Heute-Datum -2 Werktage automatisch einfügen ? VBA

    in Microsoft Excel Hilfe
    Heute-Datum -2 Werktage automatisch einfügen ? VBA: Hallo zusammen, ich bin ein Neuling was VBA angeht und habe folgendes Problem: Wenn ich meine Exceldatei öffne, soll in Tabellenblatt 1-3 jeweils in Zelle A1 das Heute Datum minus 2 Werktage...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden