Projektdatenerfassung
30.04.2009 16:49:31
Torben
Ich habe ein Problem(VBA).... Ich habe eine Arbeitsmappe, die in einzelne Projekte und in ein Zusammenfassungsblatt unterteilt ist. In den Projekten sind Tabellen hinterlegt. In den einzelnen Zeilen wird ein Datum und eine Stundenzahl eingetragen. In dem Zusammenfassungsblatt ist eine Tabelle mit laufendem Datum hinterlegt.
Ich habe vor:
Einen Vergleich des Datums aus dem Zusammenfassungsblatt mit dem Datum aus allen Projekten, um dann auf die gesamte an dem Tag gearbeitete Zeit zuzugreifen und auf dem Zusammenfassungsblatt zu dem dazugehörigen Datum abzulegen.
Dies ist nur ein Teilziel, das ich erreichen möchte. In einem späteren Stadium möchte ich die Stunden noch Mitarbeiterspezifisch zuweisen.
Ich habe folgende Fragen:
Wie kann ich erkennen welche Nummer ein Worksheet hat?
Welche Möglichkeiten habe Ich auf Worksheets zuzugreifen?
Was passiert, wenn ich eine Variable als DATE deklariert habe und mir z.B. über cells eine Zahl als INTEGER einlese? Fehlermeldung oder übergehen der Eingabe? Wenn Felhlermeldung, wie kann ich eine Abfrage gestallten damit nur DATE-Zeilen eingelesen werden.
Warum funktioniert mein Programm nicht?
Es gibt viel zu tun...warten wir`s ab.
Gruß Torben
Zum aktuellen Stand:
Option Explicit
Dim stunden As Double
Dim datum As Integer
Dim sheet As Integer
Dim zeile As Integer
Dim datum1 As Date
Dim datum2 As Date
Dim Zeit As Double
Private Sub CommandButton2_Click()
zeile = 1
datum = 1
Do Until datum = 100 'Zählerschleife zur Auswahl des zusuchenden Datums
stunden = 0
sheet = 2
Do Until sheet = 100 'Zählerschleife zur Auswahl des Worksheets
zeile = 1
Do Until zeile = 100
Zeit = Application.ActiveWorkbook.sheets(sheet).Cells(zeile, 6).Value
datum1 = Application.ActiveWorkbook.sheets(sheet).Cells(zeile, 2).Value
datum2 = Application.ActiveWorkbook.sheets(1).Cells(datum, 1).Value
If datum1 = datum2 Then 'Vergleich ob das Datum übereinstimmt
stunden = stunden + Zeit 'Stunden dazu zählen
End If
zeile = zeile + 1
Loop
sheet = sheet + 1
Loop
datum = datum + 1
Application.ActiveWorkbook.sheets("tabelle16").Cells(datum, 2).Value = stunden 'addierte Zeit _
in Tabelle16 Eintragen
Loop
End Sub