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

Arbeitszeit summieren

Arbeitszeit summieren
Holger
Hallo Forum,
ich hoffe ich kann wie immer auf eure Hilfe zählen!!
Ich würde gerne meine gearbeiteten Stunden in einer Woche zusammenfassen. Ich habe also eine Excel Liste und die einzelnen Wochentage in Spalte B (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag usw.). In Spalte M habe ich die Zeit (Dezimal), die ich täglich gearbeitet habe (Mo. -Fr.).
Jetzt hätte ich gerne, dass er mir in VBA Die Zeiten in Spalte M von Montag bis Sonntag addiert und dass für alle 4-5 Wochen im Monat separat auswirft. So hätte ich die Anzahl der Stunden, die ich jede Woche gearbeitet habe.
Problem: Neben dem Code muss auch noch eine Variabilität vorhanden sein, da ein Montag manchmal mit Mittwoch anfängt d.h. die erste Woche besteht nur aus 5 Tagen (bis Sonntag) und manchmal ein Monat mit Samstag anfängt (erste Woche somit nur 2 Tage). VBA soll also erkennen: Wann ist Sonntag und dann die Arbeitszeit der letzten Woche addieren.
Könnt Ihr mir da weiterhelfen, dass is mein erster kläglicher Versuch (zumindest zählt er schonmal die Wochentage und die Woche mit):
Wochentag = Range("B11") 'das ist der 1. eines Monats (im Februar ein Dienstag)
Do While Woche ' Zähle bis max. 5 Wochen >>(mehr kann ein Monat nicht haben und bis max. 7 Tage pro Woche)
If Wochentag = "7" Then 'Woche hochzählen und Wochentag zurücksetzen
Woche = Woche + 1
Wochentag = 1
End If
Wochentag = Wochentag + 1
nur summieren tut er so ja nicht ...
Vielen Dank für die Hilfe
Gruß
Holger

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Arbeitszeit summieren
17.02.2011 12:14:57
selli
hallo holger,
warum so kompliziert?
wenn du noch platz für 2 weitere spalten hast, schreibst du den jeweiligen monatsnamen in die erste und in die zweite spalte kommt die kalenderwoche.
das kannst du dann mit summenprodukt oder einer pivot sehr gut auswerten.
gruß selli
AW: Arbeitszeit summieren
17.02.2011 12:59:17
Holger
Hey Selli,
danke für die schnelle Rückmeldung. Allerdings ist das ein Formular, in welchem man den Monat eigentlich oben angibt (z.B. Februar) und dann nur noch 1,2,3,4,5 ...31 da steht. das muss man am Ende ausdrucken und die einzelnen Wochenstunden in einer Fußzeile angeben. Nur habe ich keine Lust Monat für Monat alles neu in den Taschenrechner zu tippen.
Da ich es alles am Ende drucken muss, wäre mir ein VBA Code lieber ...
Danke!
Gruß
Anzeige
Noch jemand eine Idee?
17.02.2011 14:56:40
Holger
.
AW: Noch jemand eine Idee?
18.02.2011 14:52:49
praetorius
Hallo Holger,
probier mal https://www.herber.de/bbs/user/73618.xls
Ist das die Lösung, die du dir vorgestellt hast?
Ich lasse die Frage mal offen; Rückmeldung wäre nett.
good luck
praetorius
AW: Noch jemand eine Idee?
18.02.2011 15:58:06
Holger
Hey Praetorius,
danke für deine Antwort. Genauso wie du die Tabelle gestaltet hast, soll sie sein. Ich will also dann nur meine Arbeitszeit eingeben müssen und dann soll das automatisch loslaufen. Ich habe gesehen, dass du das in dem Modul gemacht hast. Wie lasse ich das Modul "loslaufen"?
Gruß
Holger
AW: Noch jemand eine Idee?
18.02.2011 19:00:11
praetorius
Hallo Holger,
bei mir funktioniert es automatisch, ist ja schließlich eine Funktion wie SVERWEIS oder SUMME oder so, nur eben selbst definiert. Sollte es bei dir nicht laufen, musst du wahrscheinlich unter Extras/Optionen/Berechnung/Berechnung automatisch anklicken.
good luck
praetorius
Anzeige
AW: Noch jemand eine Idee?
21.02.2011 12:38:47
praetorius
Hallo Holger,
am Wochenende habe ich die Datei mal auf einem anderen Rechner laufen lassen und siehe da, es lief leider nicht automatisch. Deshalb habe ich noch eine kleine Änderung eingebaut. Jetzt sollte es problemlos laufen, und zwar automatisch.
https://www.herber.de/bbs/user/73646.xls
Rückmeldung wäre nett, good luck
praetorius
Nachtrag, Ergänzung
21.02.2011 13:01:05
praetorius
Hallo Holger,
hier noch ein Nachtrag. Dieses Makro muss direkt an die Tabelle gehängt werden. Die Benutzerfreundlichkeit nimmt dadurch zu.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Diese Routine wird aktiv, wenn der Inhalt der Zelle B1 geändert wurde.
'Das passiert immer beim Wechsel des Monats. Die in der Spalte M ein-
'getragenen Arbeitszeiten werden gelöscht und die scheinbar leeren
'Zeilen in Monaten mit weniger als 31 Tagen ausgeblendet. In Monaten mit
'31 Tagen werden die Zeilen wieder eingeblendet.
Dim zeile As Integer
If Target.Address = "$B$1" Then
For zeile = 3 To 30
Me.Cells(zeile, 13) = ""
Next zeile
For zeile = 31 To 33
Me.Cells(zeile, 13) = ""
If Me.Cells(zeile, 1) = "" Then
Me.Rows(zeile).Hidden = True
Else
Me.Rows(zeile).Hidden = False
End If
Next zeile
End If
End Sub
Rückmeldung wäre nett, good luck
praetorius
Anzeige
AW: Nachtrag, Ergänzung
22.02.2011 13:21:50
Holger
Hey Praetorius,
vielen Dank für dein Engagement!! Es hat geklappt super!!
Daumen hoch!
Gruß
Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige