Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makroerweiterung

Forumthread: Makroerweiterung

Makroerweiterung
12.08.2008 20:42:46
mike49
Hallo zusammen,
ich habe einen Arbeitszeitnachweis, der in Vormittags- und Nachmittagsarbeitszeit untergliedert ist.
Die Anfangszeit am Vormittag wird in E8:E38 und die Endzeit in F8:F38 eingetragen. Die vom Nachmittag in G8:G38 bzw. H8:H38. Die Arbeitsdauer wird z.B. in I8 eingetragen durch die Formel =WENN(UND(F8="";H8="");"";arbdau(E8;F8;G8;H8)) und setzt sich angepasst bis I38 fort.
Das Makro "arbdau" lautet:
Option Explicit

Function arbdau(va, ve, na, ne)
Dim vorm As Date
Dim nachm As Date
If ve > 0 And va > 0 Then vorm = ve - va
If ne > 0 And na > 0 Then nachm = ne - na
arbdau = vorm + nachm
End Function



Function nettobetr(stulo, netto)
If netto > 0 Then nettobetr = stulo * netto
End Function



Function arbdauger(va, ve, na, ne)
Dim vormGer As Double
Dim nachmGer As Double
If ve > 0 And va > 0 Then vormGer = Application.WorksheetFunction.Floor(ve * 24, ",25") _
- Application.WorksheetFunction.Ceiling(va * 24, ",25")
If ne > 0 And na > 0 Then nachmGer = Application.WorksheetFunction.Floor(ne * 24, ",25") _
- Application.WorksheetFunction.Ceiling(na * 24, ",25")
arbdauger = vormGer + nachmGer
End Function


Nun möchte ich folgendes erreichen:
Wenn die in E8:E38 eingetragene Vormittags-Anfangszeit kleiner als 09:00 und die in G8:G38 eingetragene Nachmittags-Anfangszeit kleiner als 13:00 ist, soll bei der Arbeitsdauerberechnung immer ab 09:00 bzw. 13:00 gerechnet werden. Die Zeit davor wird also nicht "bezahlt".
Weiß jemand, wie man das einbauen kann?
Gruß
mike49

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroerweiterung
13.08.2008 07:18:00
ede
Hallo,
dann bau das in die funktion ein:

Function arbdau(va, ve, na, ne)
Dim vorm As Date
Dim nachm As Date
'Anfangszeit auf  0 And va > 0 Then vorm = ve - va
If ne > 0 And na > 0 Then nachm = ne - na
arbdau = vorm + nachm
End Function


gruss

Anzeige
Das funktioniert prima . . .
13.08.2008 08:11:00
mike49
Danke ede für deine Hilfe.
Gruß
mike49
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige