HERBERS Excel-Forum - die Beispiele

Thema: Ermittlung des ersten Tages einer Kalenderwoche nach DIN 1355

Home

Gruppe

UDF

Problem

Wie kann ich den ersten Tag einer beliebigen Kalenderwoche in einem beliebigen Jahr ermitteln.

Lösung
Geben Sie die nachfolgende benutzerdefinierte Funktion in ein Standardmodul ein.
StandardModule: Modul1

Private Function DINWeek(dat As Date) As Integer
   Dim dValue As Double
   dValue = DateSerial(Year(dat + (8 - WeekDay(dat)) Mod 7 - 3), 1, 1)
   DINWeek = (dat - dValue - 3 + (WeekDay(dValue) + 1) Mod 7) \ 7 + 1
End Function

Function DINDay(iYear As Integer, iDIN As Integer)
   Dim iDay As Integer, iWeek As Integer
   If iYear = 0 Then
      DINDay = 0
      Exit Function
   End If
   iDay = 1
   iWeek = DINWeek(DateSerial(iYear, 1, 1))
   If iWeek <> 1 Then
      Do Until DINWeek(DateSerial(iYear, 1, iDay)) = 1
         iDay = iDay + 1
      Loop
   Else
      Do Until DINWeek(DateSerial(iYear, 1, iDay)) <> 1
         iDay = iDay - 1
      Loop
      iDay = iDay + 1
   End If
   DINDay = DateSerial(iYear, 1, iDay) + (iDIN - 1) * 7
End Function

Beiträge aus dem Excel-Forum zu den Themen UDF und DatumUndZeit

Lohnsteuerberechnung (UDF, XLM-Datei, Webabfrage) Ergebnis UDF ändert, wenn Tabelle deaktiviert wird
UDF soll nicht auf Daten anderer Dateien zugreifen vor Ausführung einer UDF Zwischenspeicher "retten&
UDF - Argument ohne " " übergeben möglic UDF- Beschreibung
Berechnungsdauer einer UDF messen Hintergrudfarbe ändern??? Finde keine Lösung :-(
Probleme mit IsNumeric, Code per UDF UDF mittels Ereignis aktualisieren?
UDF, Minuszeichen vor Zahl auswerten nach Worksheet_Change werden UDF nicht ausgewertet
Excel anhalten bei UDF UDF
UDF, Rückgabewert Text anstelle Zahl Aufruf einer UDF, Fehler Objekt erforderlich
SQL in UDF Werte einer UDF werden nicht aktualisiert
Aufruf von UDF mit Array UDF: Semikolon vs Komma
UDF, erkennen in welcher Zelle die UDF steht Probleme mit UDF und Worksheet Ereignissen
Formeln über UDF vergleichen UDF Verweis checken
UDF Intellisense bei User defined functions (UDF)
VBA "Find" in UDF UDF-Funktionen in eigener Kategorie
UDF Function Variable Info erstellen UDF, optionaler Parameter als Range, IsEmpty?
UDF verschiedene Bereiche ändern Makro aus UDF starten
Reihenfolge von UDF's UDF/ Berechnung Zuschlagszeiten
AddIn UDF in anderem VBA-Project verwenden UDF und Array bzw. Matrix
UDF die Texte in Zahlen umwandelt Summewenns UDF über mehrere Tabellenblätter
Funktionsargumente für UDF's UDF Reihenfolge Übergabeparamter führt zu #WERT
Neuberechnung einer UDF VBA - UDF anpassen
UDF liefert kein Ergebnis UDF anpassen
UDF stößt an ihre Grenze (Alternative?) Bereichsname in UDF verwenden
UDFs zeigen falsche Ergebnisse oder starten nicht Fragen zu UDF, die Texte verkettet
UDF: Kontextbezogene Hilfe anzeigen UDF funktioniert bei Aufruf per Sub, sonst Fehler