Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1788to1792
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

Probleme bei Berechnung mit Datum

Probleme bei Berechnung mit Datum
21.10.2020 10:45:39
freshhermi
Hallo!
Ich habe eine Excel-Tabelle mit den Spalten "Startzeitpunkt"und "Endzeitpunkt", und will mir in eine dritte Spalte "Auslastung" die monatliche Auslastung schreiben.
In Excel funktioniert das schon ganz gut, ich Rechne einfach:
=(B2-B1)/[Anzahl der Tage im Monat]
und formatiere das dann als Prozentzahl.
Weil das Ganze aber automatisiert werden soll versuche ich das gleiche in VBA zu erreichen, schaffe es aber aus irgendeinem Grund nicht. Wenn ich es auf folgende Art und Weise versuche kommt zwar eine Zahl raus, aber nicht die korrekte. Ich nehme an, dass mein Fehler irgendwie bei den Datentypen liegt, kenne mich aber zu wenig aus um auf die Lösung zu kommen:
(an dieser Stelle möchte ich nur anmerken, dass meine VBA-Kenntnisse rudimentär sind, also bitte nicht beim Anblick meines Lösungsansatzes an den Kopf fassen...)
Dim workload As Double
Dim date_start As Double
Dim date_end As Double
date_start = CDate(Cells(i + 1, 1))
date_end = CDate(Cells(i + 1, 2))
workload = (date_end - date_start) / CDbl(Day(DateSerial(Year(Cells(i + 1, 1)), month(Cells(i + 1, 1)) + 1, 0)))
Cells(i + 1, 3).Value = workload
Cells(i + 1, 3).NumberFormatLocal = "0,00 %"
Das ganze befindet sich in einer for-Schleife, daher das "i + 1"
Ich hoffe es kann mir jemand helfen! Vielen Dank!

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme bei Berechnung mit Datum
21.10.2020 10:58:59
UweD
Hallo
Excel rechnet intern immer mit Zahlen anstelle von Datum; deshalb brauchst du hier nichts umzuwandeln.
So würde das reichen.
Du musst aber einen Tag dazurechnen. (Start und Ende am gleichen Tag würde bei dir 0 ergeben)

Dim workload As Double, i As Integer
Dim date_start As Double
Dim date_end As Double
date_start = Cells(i + 1, 1)
date_end = Cells(i + 1, 2)
workload = (date_end - date_start + 1) / Day(DateSerial(Year(Cells(i + 1, 1)), Month(Cells( _
i + 1, 1)) + 1, 0))
Cells(i + 1, 3).Value = workload
Cells(i + 1, 3).NumberFormatLocal = "0,00 %"

LG UweD
Anzeige
AW: Probleme bei Berechnung mit Datum
21.10.2020 11:05:32
freshhermi
Hallo UweD,
vielen Dank für die Hilfe!
Ich habe vergessen zu sagen, dass "Startzeitpunkt" und "Endzeitpunkt" nicht nur ein Datum, sondern ein Datum+Uhrzeit sind. Start und Ende sind also am selben Tag, aber zu verschiedenen Uhrzeiten, es sollte also nicht 0 ergeben oder?
LG
LOgik?
21.10.2020 11:37:39
Rudi
Hallo,
wenn du mit Stunden rechnest, solltest du die Auslastung auch mit den Monatsstunden berechnen.
Gruß
Rudi
ist Unsinn. Ziehe zurück. owT
21.10.2020 11:38:55
Rudi
AW: Probleme bei Berechnung mit Datum
21.10.2020 11:33:51
freshhermi
Okay, es hat wie beschrieben funktioniert, ich hatte nur noch ein paar mehr Spalten als hier eigentlich angegeben und hab mich zuerst mit den Spalten vertan.
Vielen Dank! LG
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige