# Zeiterfassung mit Hilfe von Excel VBA



## fRESHdAX (9. Februar 2004)

Mein Vater hatte mich gebeten für seine kleine Firma ein Formular zu erstellen, in das seine Mitarbeiter (3 Leuts) ihre Stunden mit einer kurzen Beschreibung (als Auswahlmenü) eintragen. 
Damit möchte er am Ende jedes Projekts auswerten können, wie lange man für die einzelnen Schritte gebraucht hat.

Da er nicht möchte, dass jeder seine Daten einfach in eine Exceltabelle eintragen muss (recht aufwendig!) wollte er ein Eingabeformular.

"Jetzt steh ich hier ich armer Thor und bin so klug als wie zuvor"  <-- ICH KANN KEIN VBA 

Was ich schon erreicht habe, ist ein Formular zu erstellen, dessen Daten auch schon in die Tabelle übertragen werden. Dummerweise immernur in die Ranges die ich angebe; also immer z.B. Range("A2")
Dies bedeutet aber, dass er mir diese Ranges immer wieder überschreibt.

Hier mein kläglicher Versuch:

Public person2 As String
Public proj2 As String
Public aufgabe1 As String
Public aufgabe2 As String
Public zeitVA1 As String
Public zeitBA2 As String
Public zeitVB1 As String
Public zeitBB2 As String


Public Sub Projektmanagment()
    person2 = ""
    proj2 = ""
    aufgabe1 = ""
    aufgabe2 = ""
    ZeitA1 = ""
    ZeitA2 = ""
    ZeitB1 = ""
    ZeitB2 = ""
    Projektzeit.Show


    Range("A4").Value = person2
    Range("B4").Value = proj2
    Range("C4").Value = aufgabe1
    Range("D4").Value = zeitVA1
    Range("E4").Value = zeitBA2

    Range("C5").Value = aufgabe2
    Range("D5").Value = zeitVB1
    Range("E5").Value = zeitBB2


End Sub


Wie bekomme ich es jetzt hin, dass die nächste eingabe immer in die nächste freie Zeile geschrieben wird ?

Oder noch besser: hat vielleicht einer schon ein Prog. geschrieben, dass genau das kann, was ich brauche und möchte es mit mir teilen ? 

Für Hilfe wär ich sehr dankbar.

In diesem Sinne,
fRESHdAX


----------



## Masterfox (15. Februar 2004)

Hallo!

Aus deinem Lösungsanzath kann ich zur Zeit nicht viel erkenne.
Es geht darum, das die Miarbeiter dokumentieren, wieviele Stunden die Mitarbeiter für bestimmte Projekte tätig sind. 

Es gibt Programme die diese Problemstelllung ´behandeln, aber teuer und sprenen den Rahmen. 

Für das Beispiel den Range-Befehl Range("A4") kann auch ausgegeben werden mit cells(4,1) für die Ziffern eine Variable definieren und einen Zähler hinterlegen. 
Der Cells-Befehl hat folgenden Synatx cells(zeile,spalte)

Mehr kann ich dir hier nicht helfen. Wenn Du willst kannst Du ja mal dein Excel-Datei rüberschicken, dann kann ich dir bei dem Projekt helfen

Sebastian
meine E-Mail masterfox@gmx.de


----------



## fRESHdAX (16. Februar 2004)

Wenn du mir da weiterhelfen könntest, wär das schon echt super. Komm da zZ. auch gar nicht so voran (vielleicht liegt es auch daran, dass ich irgendwie den Spass daran verloren hab  )

Ich schick es dir einfach mal zu, vielleicht hast du ja 'ne Idee. Kannst da ruhig drin rum basteln, wie du es möchtest. Ist eh ne riesige Baustelle.

Worum es mir in diesem Makro geht:
Mitarbeiter sollen sich da so einfach wie möglich eintragen, was und wie lange sie an welchem Projekt gemacht haben. Und am Ende soll das halt ausgewertet werden (das wollte ich mit einer Pivottabelle machen; geht auch schon).



ps.: Welche Programme können das denn schon, nur so zum vergleich und vielleicht ein paar Ideen holen 

In diesem Sinne,
fRESHdAX


----------



## thekorn (16. Februar 2004)

*Access?*

hallo,
also zunächst einmal, wenn du access zur hand hast solltest du es damit lösen.
Vorteile:

ordentliche datenstruktur
releativ einfach durch assistenten
Formulare können einfach erstellt werden

gruß
thekorn


----------



## fRESHdAX (16. Februar 2004)

hmm, das müsste ich hier noch irgendwo rumfliegen haben. Gabs mal in nem Packet bei nem PC mit, glaub ich.

Da ich es noch nie wirklich benutzt habe, bin ich noch nicht auf die Idee gekommen das zu nutzen.

Werde es mir mal angucken.

Danke für den Tip.


In diesem Sinne,
fRESHdAX


----------

