VisualBasic VBA Zeitaufzeichnung

kinimod2010

Cadet 4th Year
Registriert
Sep. 2014
Beiträge
68
Hallo Leute,

Ich bin jetzt von mienem Chef verdonnert worden mit VBA eine Zeitaufzeichnung und Stunden auf Projektaufzeichnung zu machen. Ich habe schon echt viel geschafft nur stehe ich jetzt an :/ kann mich hier jemand unterstützen?

i = 2
For Projekte = 6 To LastRow
If ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, 3) = "Angebot" Or ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, 3) = "in Bearb." Or ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, 3) = "offen" Then
Reihe = 21
For MA_Reihe = 4 To 14
'ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, Reihe).Select
ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, Reihe).Value = ThisWorkbook.Worksheets(Mitarbeiter(1, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(2, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(3, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(4, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(5, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(6, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(7, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(8, 4)).Cells(i, MA_Reihe).Value + ThisWorkbook.Worksheets(Mitarbeiter(9, 4)).Cells(i, MA_Reihe).Value
Reihe = Reihe + 5
Next test
i = i + 1
End If
Next Projekte

Die Mitarbeiter werden über eine Schleife in das array eingelesen ich weiß aber nicht wie die oben genannte schleibe bis zum letzten mitarbeiter zusammenzählen kann. Ich weiß wie viele MA es gibt.

Kann mir hier vielleicht jemand helfen?

DANKE
 
Zuletzt bearbeitet:
Hm. Ist das eine Azubi Aufgabe oder wäre eine fertige Lösung auch ok?

Ich betreibe für mich und für einige Kunden Kimai - Extrem angenehm. MA können ihre Stunden selbst auf die richtigen kunden / Projekte buchen und die FiBu kann Rechnungen daraus erstellen
 
Ich muss leider excel verwenden und alles in richtige cellen schreiben sonst hätte ich mich eh umgesehen - hab auch schon gesagt wenn mehrere leute über 50 und ca 300 Projekte drinnen sind, dass es länger rechnen wird.

Leider kein Erfolg ich muss leider in der Vorlage programmieren- falls ihr mehr input braucht gebt bescheid

Ich schau mir das kimai mal an wenn es gratis ist hat es vl eine chance:freak:
 
Man kann es halt selbst aufsetzten. Und betreiben oder betrieben bei Dienstleistern einfach nutzen und pro Account zahlen.

Nicht kostenlos, aber billiger als was dein Chef aktuell vor hat.
 
  • Gefällt mir
Reaktionen: kinimod2010
Stimmt aber ich bin nur MA ich habs gesagt - also bin ich aus dem Schneider

Ich werde ihm aber das Programm vorschlagen

Mir fehlt hier nur noch das zusammenzählen des arrays bis zum letzen sonst hab ich schon alles fertig - ist sogar alles schon variabel aber nur das fehlt mir noch :heul:
 
Du willst die Arraylänge wissen oder verstehe ich das gerade falsch? Vielleicht einfach mal erklären, stehe auf dem Schlauch
 
Ich habe es gelöst xD mit einer weiteren Schleife:

Jetzt hab ich so viele drinnen das sich dann keiner mehr auskennt wenn ich das Unternehmen mal verlasse xD
Hier mein Code:

Code:
For Projekte = 6 To LastRow
       If ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, 3) = "Angebot" Or ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, 3) = "in Bearb." Or ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, 3) = "offen" Then
       Lauf = 21
            For Monat = 4 To 14
            x = 0
                For Worker = 1 To anzahlderma
                x = x + ThisWorkbook.Worksheets(Mitarbeiter(Worker, 4)).Cells(i, Monat).Value
                Next Worker
            ThisWorkbook.Worksheets("Tabelle1").Cells(Projekte, Lauf).Value = x
            Lauf = Lauf + 5
            Next Monat
       i = i + 1
       End If
    Next Projekte

Ich hab eigentlich nur das Array zusammengezählt mit einer weiteren Laufvariable und einer Zwischenvariable die mir die Werte zusammen addiert von dem Array.

Ich find es ist ganz sexy geworden was meint ihr?
 
Zurück
Oben