ich habe heute ein komplexeres Problem welches für einen Excelprofi bestimmt kein Problem darstellen sollte.
Wir haben eine Exceldatei (mit Makros) zur Zeiterfassung unserer Projekte.
Mit betätigen des Startknopfs fängt die Uhr an zu tracken, wenn man nun mit seiner Aufgabe fertig ist drückt man den Stop Button und es wird die Zeit in eine Zelle geschrieben. Neben dieser Zelle kann man Notizen machen welche Aufgabe man erledigt hat für welchen Kunden. Echt Praktisch. Zur besseren Übersicht und Kontrolle bräuchte man in dieser Datei noch eine Funktion in der man festlegt wie viel Zeit man für die jeweilige Aufgabe/Projekt höchstens aufwenden darf. Vielleicht kann man da mit einer Wenn-Dann-Funktion arbeiten und bedingter Formatierung. Also wenn die Zeit abgelaufen ist, das die Zelle in der die Zeit erfasst wird rot wird oder wenn noch 10% übrig sind die Zelle gelb wird. Das wäre super. Wer kann mir diese kleine Funktion anbinden? Oder vielleicht gibt es ja noch bessere einfachere Lösungen dafür. Bin für jeden Tipp Dankbar. Gerne kann man mich auch persönlich anschreiben um weitere Vorgehensmaßnahmen zu besprechen.
Ich bedanke mich schon mal im voraus.
Beste Grüße Sandra [img] Dateiupload bitte im Forum! So geht es: Klick mich! ]
14.08.2014, 17:57 (Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2014, 17:58 von Rabe.)
Hi Sandra,
(14.08.2014, 17:46)deronimo schrieb: Wir haben eine Exceldatei (mit Makros) zur Zeiterfassung unserer Projekte. [...] Wer kann mir diese kleine Funktion anbinden? Oder vielleicht gibt es ja noch bessere einfachere Lösungen dafür.
Du hast ein schönes Bildchen gezeigt, aber um eine Lösung Deiner Fragen zu erstellen, ausprobieren und einbinden zu können, wäre es schön, die Originaldatei des Bildchens vorliegen zu haben. Kannst Du diese Datei mit Makros bitte in einen Beitrag einfügen?
ich habe hier ein kleines VBA-Makro, was die Zeit in in Sekunden in B1 Deiner Excel-Tabelle einträgt. Zum Beginn und Ende kannst Du einen Button verwenden oder zwei, ist egal. Das Makro kommt in ein "normales" Modul.
Code:
Option Explicit ' --------------------------------------------------------- ' API Funktion GetTickCount ' Eingestellt von: Andre Schau ' Datum: 5. Juno 2012 ' Kommentar: Funktion zur Ermittlung der Systemzeit ' Parameter: ' Rückgabe: Systemzeit ' ' weitere benoetigte Programme und Funktionen ' Aufruf: Beispiel siehe Sub callGetTickCount() ' Hinweis: ' --------------------------------------------------------- 'Deklaration der API-Funktion Private Declare Function GetTickCount Lib "kernel32.dll" () As Long 'Variablendeklaration 'Long Dim loStartTime As Long
Sub callGetTickCount() 'Stoppuhr 'Wenn die Zeitangabe 0 ist, dann If loStartTime = 0 Then 'Startzeit uebernehmen loStartTime = GetTickCount 'Oder Wenn die Zeitangabe nicht 0 ist, dann Else 'Zeit in Zelle B1 eintragen in Sekunden aus Differenz von Systemzeit 'und Startzeit / 1000 Cells(1, 2) = (GetTickCount - loStartTime) / 1000 'Startzeit zruecknehmen loStartTime = 0 'Ende Wenn die Zeitangabe 0 ist, dann End If End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Ich habe die Datei extern hochgeladen. Da ich hier keine Möglichkeit gesehen habe.
Dateiupload bitte im Forum! So geht es: Klick mich!
LG Sandra
(14.08.2014, 17:57)Rabe schrieb: Hi Sandra,
(14.08.2014, 17:46)deronimo schrieb: Wir haben eine Exceldatei (mit Makros) zur Zeiterfassung unserer Projekte. [...] Wer kann mir diese kleine Funktion anbinden? Oder vielleicht gibt es ja noch bessere einfachere Lösungen dafür.
Du hast ein schönes Bildchen gezeigt, aber um eine Lösung Deiner Fragen zu erstellen, ausprobieren und einbinden zu können, wäre es schön, die Originaldatei des Bildchens vorliegen zu haben. Kannst Du diese Datei mit Makros bitte in einen Beitrag einfügen?
(18.08.2014, 17:36)deronimo schrieb: Ich habe die original Datei hochgeladen.
LG Sandra
(14.08.2014, 17:57)Rabe schrieb: Hi Sandra,
(14.08.2014, 17:46)deronimo schrieb: Wir haben eine Exceldatei (mit Makros) zur Zeiterfassung unserer Projekte. [...] Wer kann mir diese kleine Funktion anbinden? Oder vielleicht gibt es ja noch bessere einfachere Lösungen dafür.
Du hast ein schönes Bildchen gezeigt, aber um eine Lösung Deiner Fragen zu erstellen, ausprobieren und einbinden zu können, wäre es schön, die Originaldatei des Bildchens vorliegen zu haben. Kannst Du diese Datei mit Makros bitte in einen Beitrag einfügen?
Kann ich mit dem Makro von dir auch angeben, dass wenn eine bestimmte Zeit überschritten ( die ich vorher manuelle festgelegt habe) dass ein Feld automatisch rot wird? Bzw: wenn 80% der vorgegeben Zeit erreicht sind das Feld gelb wird und wenn 100% erreicht sind das Feld rot wird?
Beispiel : Wenn ich sage für Kunde X wurde ausgemacht 40 Stunden im MOnat dann soll mir das Tool anzeigen wenn dieser Wert fast ( gelb) und überschritten ( rot) wurde.
Siehe Anhang
LG Sandra[img] Dateiupload bitte im Forum! So geht es: Klick mich! ]
(14.08.2014, 20:45)schauan schrieb: Hallo Sandra,
ich habe hier ein kleines VBA-Makro, was die Zeit in in Sekunden in B1 Deiner Excel-Tabelle einträgt. Zum Beginn und Ende kannst Du einen Button verwenden oder zwei, ist egal. Das Makro kommt in ein "normales" Modul.
Code:
Option Explicit ' --------------------------------------------------------- ' API Funktion GetTickCount ' Eingestellt von: Andre Schau ' Datum: 5. Juno 2012 ' Kommentar: Funktion zur Ermittlung der Systemzeit ' Parameter: ' Rückgabe: Systemzeit ' ' weitere benoetigte Programme und Funktionen ' Aufruf: Beispiel siehe Sub callGetTickCount() ' Hinweis: ' --------------------------------------------------------- 'Deklaration der API-Funktion Private Declare Function GetTickCount Lib "kernel32.dll" () As Long 'Variablendeklaration 'Long Dim loStartTime As Long
Sub callGetTickCount() 'Stoppuhr 'Wenn die Zeitangabe 0 ist, dann If loStartTime = 0 Then 'Startzeit uebernehmen loStartTime = GetTickCount 'Oder Wenn die Zeitangabe nicht 0 ist, dann Else 'Zeit in Zelle B1 eintragen in Sekunden aus Differenz von Systemzeit 'und Startzeit / 1000 Cells(1, 2) = (GetTickCount - loStartTime) / 1000 'Startzeit zruecknehmen loStartTime = 0 'Ende Wenn die Zeitangabe 0 ist, dann End If End Sub
18.08.2014, 18:42 (Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2014, 18:53 von schauan.)
Hallo Sandra,
das könntest Du mit einer bedingten Formatierung lösen, Ansatz hier unten mit einer Bedingung. Für Dein Ansinnen bräuchtest Du zwei Bedingungen. Die Eingabe in G erfolgt auf Minutenbasis (dezimal), die Umrechnung erfolgt in der Formel. Bei reinem VBA müsste sichergestellt sein, dass vor der Betätigung des Buttons der Name x, y oder z usw. eingetragen ist - ansonsten würdest Du einen Button zum "nachfärben" brauchen. Wenn das gefällt, könnte man die Erweiterung der bedingten Formatierung noch mit ins VBA nehmen. Ansonsten müsstest Du die zu erwartende Zeilenzahl vorformatieren.
leider verstehe ich nicht ganz wie du das meinst. Ich habe versucht das nachzubauen und zu kopieren aber leider kamen nur kryptische Zahlen dabei raus. Kannst du das eventuell in die original Datei reinbauen und mir Anhängen. ? Das wäre total lieb von dir. Ich kann ja dann die Kunden umschreiben oder :)
Freue mich auf deine Antwort. Gilt natürlich nicht auch für andere :)
im Anhang hab ich das Beispiel. Ich hab noch zusätzlich ein paar Zwischenergebnise rechts daneben platziert - die sind nur zur Veranschaulichung der Zeitwerte und können wieder weg.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)