Excel kleine Makro - Wer kann helfen?
#1
Hallo Freunde des Excels,

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!
]
Top
#2
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?
Top
#3
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
Vielen Dank für eure Antworten. Ich lade euch mal die Orignaldatei hoch.


Hier liegt die Datei. Ich wusste nicht wie ich die hier hochladen kann.


Dateiupload bitte im Forum! So geht es: Klick mich!


Ich hoffe das passt so.

Freue mich auf eure Antworten.

LG Sandra
Top
#5
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?
Top
#6
(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?


Angehängte Dateien
.xlsm   Zeiterfassung-cun.xlsm (Größe: 36,07 KB / Downloads: 8)
Top
#7
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
Top
#8
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.

Arbeitsblatt mit dem Namen 'Tabelle1'
 FG
4VergangeneGrenzwert
5Zeit6,70
6  
7  
8  
9  
10DauerKunde
1100:06:39x
1200:00:06y
1300:06:55z
1400:00:04x
1500:00:03z

Zellebedingte Formatierung...Format
G111: =SUMMEWENN($G$11:$G11;G11;$F$11:$F11)>($G$5/60/24)abc
G121: =SUMMEWENN($G$11:$G12;G12;$F$11:$F12)>($G$5/60)abc
G122: =SUMMEWENN($G$11:$G12;G12;$F$11:$F12)>($G$5/60/24)abc
G131: =SUMMEWENN($G$11:$G13;G13;$F$11:$F13)>($G$5/60)abc
G132: =SUMMEWENN($G$11:$G13;G13;$F$11:$F13)>($G$5/60/24)abc
G141: =SUMMEWENN($G$11:$G14;G14;$F$11:$F14)>($G$5/60)abc
G142: =SUMMEWENN($G$11:$G14;G14;$F$11:$F14)>($G$5/60/24)abc
G151: =SUMMEWENN($G$11:$G15;G15;$F$11:$F15)>($G$5/60)abc
G152: =SUMMEWENN($G$11:$G15;G15;$F$11:$F15)>($G$5/60/24)abc
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • deronimo
Top
#9
Hi Schauan,

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 :)

LG Sandra
Top
#10
Hallo Sandra,

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.


Angehängte Dateien
.xlsm   Zeiterfassung-cun.xlsm (Größe: 35,95 KB / Downloads: 9)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste