Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arbeitstage ohne WE und Feiertage

Arbeitstage ohne WE und Feiertage
03.01.2020 00:14:43
Marcel
Hallo Excel Profis,
ich wünsche zunächst ein frohes und gesundes neues Jahr 2020.
Doch auch in diesem Jahr, habe ich wieder Fragen und Probleme und so kommen zu meiner ersten Problematik im neuen Jahr.
Ich arbeite gerade an einer Projekt-Liste mit Priorisierung. Eine Komponente in der Prio-Berechnung ist die geplante Dauer des Projekts.
Soll heissen: In meiner Tabelle, in der Spalte H steht immer das Datum an dem mit dem Projekt begonnen wurde.
In Spalte R trage ich ein weiteres Datum ein, das geplante Ende des Projekts.
Nun möchte ich die Arbeitstage zwischen diesen beiden Daten berechnen lassen und falls Feiertage dazwischen liegen, sollen diese abgezogen werden.
Ich habe hier im Forum schon folgende Function entdeckt:
Function Arbeitstage(AnfDatum As Date, EndDatum As Date, FreieTage As Excel.Range) As Long
Dim Datum As Date
Dim Tage As Long
Dim Istfrei As Boolean
Dim FreiTag As Range
If AnfDatum For Datum = AnfDatum To EndDatum
Istfrei = False
If Weekday(Datum, vbMonday) For Each FreiTag In FreieTage
If Datum = FreiTag.Value Then
Istfrei = True
Exit For
End If
Next FreiTag
If Not Istfrei Then
Tage = Tage + 1
End If
End If
Next Datum
Else
Tage = ""
End If
Arbeitstage = Tage
End Function Allerdings habe ich keine Ahnung wie ich diese richtig nutze. Wenn ich es richtig verstehe ist es ein Nachbau der Nettoarbeitstage (WorkSheet-)Funktion, richtig? Also berechnet sie Arbeitstage, abzüglich Feiertage (Oben in der Funktion "FreieTage" und "FreiTag"), oder nicht?
Wenn es so ist, wie ich es meine, soll die Funktion ausgeführt werden, wenn ich das End-Datum in Spalte R eingetragen habe. Dies wollte ich so lösen:
Im Code zu Tabelle1 steht folgendes:
Private Sub Worksheet_Change(ByVal Target As Range)
xRow = Target.Row
xCol = Target.Column
If xCol = 18 Then
If Intersect(Target, Range("R5:R35")) Is Nothing Then
Exit Sub
Else
Call WorkDay_Calc
End If
End If
End Sub
Im Modul1 steht folgender Code:
Sub WorkDay_Calc()
dend = Tabelle1.Cells(xRow, xCol).Value
dstart = Tabelle1.Cells(xRow, 8).Value
FTage = Tabelle9.Range("B2:B11")
WorkDay = Arbeitstage(dstart, dend, FTage)
Tabelle1.Cells(xRow, 19).Value = WorkDay
End Sub
Function Arbeitstage(AnfDatum As Date, EndDatum As Date, FreieTage As Excel.Range) As Long
Dim Datum As Date
Dim Tage As Long
Dim Istfrei As Boolean
Dim FreiTag As Range
If AnfDatum For Datum = AnfDatum To EndDatum
Istfrei = False
If Weekday(Datum, vbMonday) For Each FreiTag In FreieTage
If Datum = FreiTag.Value Then
Istfrei = True
Exit For
End If
Next FreiTag
If Not Istfrei Then
Tage = Tage + 1
End If
End If
Next Datum
Else
Tage = ""
End If
Arbeitstage = Tage
End Function Nun habe ich das Problem das beim Kompilieren folgender Fehler auftaucht: "Argumenttyp ByRef unverträglich" und zwar bei der Variable dstart.
Ich habe die Variablen aber unter Option Explicit im Modul als Date deklariert.
Schon mal vielen Dank!
LG
Marcel

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitstage ohne WE und Feiertage
03.01.2020 21:11:07
Marcel
Vielen Dank für eure Antworten.
@Bernd:
Die Funktion Nettoarbeitstage kenne ich. Ich weiss auch damit umzugehen. Ich wolle es bewusst über VBA machen, um meine VBA Kenntnisse weiter zuvertiefen. Als Übung so zu sagen. Habe ich denn recht damit, dass die Funktion die ich erwähnte, eine VBA Kopie von Nettoarbeitstage ist?
@Günther:
Ich schaue mir dieses Power Query gerne an, allerdings befürchte ich, dass ich es auf meine Tabelle so nicht anwenden kann,ohne meine Tabelle komplett umzubauen bzw. neu zu formatieren.
Gruß
Marcel
Anzeige
AW: Arbeitstage ohne WE und Feiertage
03.01.2020 23:25:04
Günther
Nun ja Marcel,
das kann ich nicht beurteilen. Mir liegt keine Muster-xlsx vor. Allerdings kann PQ auch bei recht individuellen Dateistrukturen in der eigentlichen Abfrage vieles umbauen. Viel Glück bei der weiteren Lösungssuche.
Gruß
Günther
AW: Arbeitstage ohne WE und Feiertage
04.01.2020 01:19:59
Marcel
Hallo Günther,
meine Vermutung basiert auch nur auf dem Link den du gepostet hattest. Was dort an Vorbereitungen getroffen wird, um dieses Power Query zu nutzen, dazu fehlt mir gerade die Zeit. Dazu müsste ich meine Tabelle halt komplett neu gestalten. Aber ich weiss es halt auch nicht 100%-ig, ich habe es noch nie benutzt. Aber es ist auf jeden Fall spannend!
Vielen Dank auf jeden Fall nochmal für den Hinweis.
Gruß
Marcel
Anzeige

21 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige