Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
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

Datum Kalenderwoche zuweisen

Datum Kalenderwoche zuweisen
30.08.2022 12:58:01
Andi
Hallo zusammen,
ich habe eine Liste mit mehreren Aufgaben (Tb "Aufgabenübersicht"), die jeweils ein Fälligkeitsdatum haben zudem ist der Aufgabe eine Dauer zugewiesen. Mit diesen Aufgaben möchte ich eine Auslastung für die aktuelle Woche und die darauf folgende Woche visualisieren. Die Auslastung der aktuellen Woche soll sich dynamisch anpassen d.h. das eben z.B. ab Mittwoch nur noch mit den Stunden für Mittwoch, Donnerstag und Freitag gerechnet wird. Das ganze ist abhängig von der Kalenderwoche, da ich in geraden und ungeraden Kalenderwochen unterschiedlich viele Stunden zur Verfügung habe. Die Tabellen mit den verfügbaren Stunden (Tb "Auslastung") haben zusätzlich pro Tag unterschiedliche Mengen an Stunden, da die Mitarbeiter unterschiedlich verfügbar sind.
Nun habe ich das Problem, dass ich das nicht ganz umgesetzt bekomme. Ich scheitere hier leider schon daran, wie ich die Aufgaben per Kalenderwoche zusammenfassen kann und auch wie ich die Berechnung dann dynamisch umsetzten soll.
Die Daten der aktuellen Woche, die ich benötige habe ich schon mal:

Sub CalcCapacity()  ' Berechnung der Abteilungsauslastung
Dim intColDate As Integer
Dim Date01, Weekday01, Date02, Weekday02, KW_DIN
Date01 = Date                                               ' Aktuelles Datum
intColDate = 5                                              ' Spalte Fälligkeitsdatum
Weekday01 = Weekday(Date01)                                 ' Aktueller Wochentag numerisch(1,2,...)
KW_DIN = DatePart("WW", Date01, vbMonday, vbFirstFourDays)  ' Aktuelle Kalenderwoche
Worksheets("Aufgabenübersicht").Activate
Ich wäre für jede Hilfe dankbar.
Hier die Datei: https://www.herber.de/bbs/user/154880.xlsm
LG Andi

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum Kalenderwoche zuweisen
01.09.2022 09:31:52
Andi
Ich habe es nun wie folgt gelöst:

Sub CalcCapacityCurrWeek()  ' Berechnung der Abteilungsauslastung für die aktuelle Woche
Dim intColDate As Integer
Dim intColTime As Integer
Dim intCountTime As Integer
Dim intCountRow As Integer
Dim intAvailTime As Integer
Dim intColDay As Integer
Dim intColDayLast As Integer
Dim Date01, Weekday01, Date02, Weekday02, KW_Cur, KW_Sear
Date01 = Date                                               ' Aktuelles Datum
intAvailTime = 0                                            ' Verfügbare Zeit
intColDay = 14                                              ' Startspalte Nummer des Wochentags beginnt 1 vor Tag zwecks Berechnung
intColDate = 5                                              ' Spalte Fälligkeitsdatum
intColDayLast = 18                                         ' letzte Spalte Wochentag
intCountRow = 5                                             ' Zähler Reihe
intColTime = 8                                              ' Spalte Dauer
intAvailTime = 0
Weekday01 = Weekday(Date01) - 1                               ' Aktueller Wochentag numerisch(1,2,...)
KW_Cur = DatePart("WW", Date01, vbMonday, vbFirstFourDays)  ' Aktuelle Kalenderwoche
Worksheets("Aufgabenübersicht").Activate
Do While Cells(intCountRow, intColDate)  ""
KW_Sear = DatePart("WW", Cells(intCountRow, intColDate).Value, vbMonday, vbFirstFourDays)    'Abfrage KW in aktueller Zelle
If KW_Sear 

Sub CalcCapacityNextWeek()  ' Berechnung der Abteilungsauslastung für die darauf folgende Woche
Dim intColDate As Integer
Dim intColTime As Integer
Dim intCountTime As Integer
Dim intCountRow As Integer
Dim intAvailTime As Integer
Dim Date01, Weekday01, Date02, Weekday02, KW_Nex, KW_Sear
Date01 = Date                                                   ' Aktuelles Datum
intColDate = 5                                                  ' Spalte Fälligkeitsdatum
intCountRow = 5                                                 ' Zähler Reihe
intColTime = 8                                                  ' Spalte Dauer
intAvailTime = 0
Weekday01 = Weekday(Date01)                                     ' Aktueller Wochentag numerisch(1,2,...)
KW_Nex = DatePart("WW", Date01, vbMonday, vbFirstFourDays) + 1  ' Aktuelle Kalenderwoche +1
Worksheets("Aufgabenübersicht").Activate
Do While Cells(intCountRow, intColDate)  ""
KW_Sear = DatePart("WW", Cells(intCountRow, intColDate).Value, vbMonday, vbFirstFourDays)   'Abfrage KW in aktueller Zelle
If KW_Sear = KW_Nex Then
intCountTime = intCountTime + Cells(intCountRow, intColTime).Value
intCountRow = intCountRow + 1
Else
intCountRow = intCountRow + 1
End If
Loop
intCountRow = 5
'------Bis hier werden die Stunden der folgenden Kalenderwoche berechnet---------------------
Worksheets("Auslastung").Activate
If KW_Nex Mod 2 = 0 Then
intAvailTime = Cells(10, 14).Value      ' Zeit ungerade KW
Else
intAvailTime = Cells(23, 14).Value      ' Zeit gerade KW
End If
Cells(25, 3).Value = intAvailTime           ' Schreibe verfügbare Zeit in Zelle
Cells(24, 3).Value = intCountTime           ' Schreibe Auslastung in Zelle
End Sub
evtl. hilft es ja jemand weiter.
LG Andi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige