Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
132to136
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
132to136
132to136
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Stundenerfassen Baugewerbe

Stundenerfassen Baugewerbe
06.07.2002 17:26:41
Olga
Hallo Forumfreunde.
Ich suche neue Lösung für Mein Problem
Stundenerfassung läuft jetzt folgendermaßen ab.
es gibt für jeden Monat ein Tabellenblatt und Krank und Urlaub.
in den Monatsmappen 1. Spalte Name 2. Spalte Personal Nr., 3. Spalte K (für Krank) 4. U (Urlaub)5-35..Die Tage(1-31).
Nachvollziehung nach Baustellen nicht möglich da es nicht erfasst wird. Wie kann man es so einrichten dass es in einem separaten Tabellenblatt Baustellennr. Datum Name Personal-Nr. und Stunden eingetragen werden und es bei gleichen Tag und gleichen Namen die Stunden zusammengezählt werden und in die Monatasmappe bei dazugehärigen Tag und Namen kopiet werden.

Vielen Dank für jeden Tipp

Olga

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Stundenerfassen Baugewerbe
06.07.2002 20:41:27
Dieter Klemke
Hallo Olga,
ich denke, man sollte zu deinem Problem ein VBA-Programm schreiben.
Ich gehe von den folgenden Voraussetzungen aus:
Monate.xls - Arbeitsmappe mit den Monatsblättern
Baustellen.xls - Arbeitsmappe mit den Stundeninfos nach Baustellen
Das VBA-Programm ist so geschrieben, dass es in der Baustellen.xls steht.
Es könnte so aussehen:

Option Explicit
Public wbM As Workbook

Sub Stunden_übernehmen()
Dim datum As Date
Dim mitarbeiter As String
Dim persnr As String
Dim stunden As Double
Dim wbB As Workbook
Dim wsB As Worksheet
Dim zeile As Long

Set wbB = ThisWorkbook
Set wbM = Workbooks("Monate.xls")
Set wsB = wbB.Worksheets(1)
wsB.Range("A1").Sort Key1:=wsB.Range("A2"), _
Key2:=wsB.Range("D2"), _
Key3:=wsB.Range("B2"), _
Header:=xlYes
zeile = 2
stunden = 0
Do Until IsEmpty(wsB.Cells(zeile, 1))
stunden = stunden + wsB.Cells(zeile, 5) ' Stunden in Sp. E
If wsB.Cells(zeile, 1) <> wsB.Cells(zeile + 1, 1) Or _
wsB.Cells(zeile, 4) <> wsB.Cells(zeile + 1, 4) Or _
wsB.Cells(zeile, 2) <> wsB.Cells(zeile + 1, 2) Then
' letzte Zeile von Mitarbeiter und Tag
mitarbeiter = wsB.Cells(zeile, 1) ' Name in Sp. A
persnr = wsB.Cells(zeile, 4) ' Personalnr. in Sp. D
datum = wsB.Cells(zeile, 2) ' Datum in Sp. B
StundenSchreiben mitarbeiter, persnr, datum, stunden
stunden = 0
End If
zeile = zeile + 1
Loop
End Sub

Sub StundenSchreiben(mitarbeiter As String, _
persnr As String, _
datum As Date, _
stunden As Double)

Dim monat As Long
Dim tag As Long
Dim wsM As Worksheet
Dim zeile As Long

monat = Month(datum)
tag = Day(datum)
Set wsM = wbM.Worksheets(monat)
zeile = 2
Do Until IsEmpty(wsM.Cells(zeile, 1))
If wsM.Cells(zeile, 1) = mitarbeiter And _
wsM.Cells(zeile, 2) = persnr Then
' Mitarbeiter gefunden
wsM.Cells(zeile, 4 + tag) = stunden
End If
zeile = zeile + 1
Loop
End Sub

Es muß aber nochmal intensiv getestet werden.

MfG
Dieter

Anzeige
Re: Stundenerfassen Baugewerbe
07.07.2002 00:10:56
Olga
Hallo Dieter
Ich habe eigentlich gemeint dass Stundenerfassung nach Baustellen in gleicher Mappe gemacht werden soll.
Aber jetzt habe ich es extra angelegt.
Den Code habe ich kopiert und in Dateil Baustellen.xls eingefügt.
Es funktioniert bei mir nicht. Kann man dies vielleicht Stück für Stück machen, da ich kein VBA Profi bin.
Vielen Dank

Olga

Re: Stundenerfassen Baugewerbe
07.07.2002 10:12:39
Dieter Klemke
Hallo Olga,
ich denke, es ist am besten, wenn du mir Beispieldateien mit fiktiven Daten per eMail (Dieter.Klemke@t-online.de) schickst, da ich den genauen Aufbau nicht kenne.
MfG
Dieter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige