1.1k Aufrufe
Gefragt in Windows 8 von
Hallo zusammen,

bitte um dringende Hilfe, da Anfänger auf diesem Gebiet.

Ich möchte gern meine Arbeitszeit erfassen. Dies soll automatisch ohne nachträgliche Änderungsmöglichkeit geschehen. Dazu habe ich eine Excel-Tabelle per Makros mit  Zeitstempeln (Anfang und Ende) versehen, sodass wenn ich auf die Schaltfläche klicke, automatisch die Uhrzeit in der gewünschten Spalte eingetragen wird. Diese Uhrzeit kann man jederzeit wieder löschen und/oder ändern. Gibt es eine Möglichkeit, dass diese gar nicht mehr geändert werden kann?

Hier mein Code im VBA:

Sub ZeitstempelMakro()
Columns("B:B").Select
Selection.Find(What:="").Activate
ActiveCell.FormulaR1C1 = Format(Now, "hh:mm:ss")
End Sub

Im Voraus recht herzlichen Dank für Eure Hilfe oder Vorschlag.

Viele Grüße

Serena

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Serena,

das kannst du über den Blattschutz lösen (Anleitungen findest dazu einige im Netz, falls du nicht weißt, wie das geht).

Dann musst du bei deinem Makro auch den Blattschutz zuerst aufheben und nach dem Eintrag der Uhrzeit wieder setzen:

Worksheets("Blattname").Unprotect "Hier das Passwort"     'Blattschutz aufheben

Worksheets("Blattname").Protect "Hier das Passwort"     'Blattschutz setzen

Hast du kein Passwort, dann reicht

Worksheets("Blattname").Unprotect 

Worksheets("Blattname").Protect

Gruß

M.O.

0 Punkte
Beantwortet von
M.O. recht herzlichen Dank für Deine schnelle und sehr hilfreiche Rückmeldung - hat gut funktioniert.

Habe dazu noch eine Frage, wenn Kollegen Ihre Arbeitszeit auf die o.a. Art in ihrem eigenen Arbeitsblatt eintragen (also jeder für sich selbst), gibt es da auch eine Möglichkeit, im Vorfeld dies in der Datei zu verankern, sodass die Kollegen Ihre Zeit nicht mehr ändern können - ohne dass Sie selbst in den Makros was ändern oder eintragen. Das dies von vornherein festgelegt ist? Mir geht es darum, dass man händisch nichts ändern kann und so nicht bei der Zeit schummeln kann.

Vielleicht hast du hierzu auch bitte eine Lösung für mich.

Nochmals danke für deine Antwort - hat mir schonmal sehr weitergeholfen.

VG

Serena
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Serena,

wenn du die Datei mit einem (nur dir bekannten) Passwort geschützten Blatt deinen Kollegen zur Verfügung stellst - und die Kollegen natürlich keine Ahnung von VBA haben - dann können Sie keine händischen Änderungen im geschützten Blatt vornehmen ohne das Passwort zu kennen. Zusätzlich kannst du auch noch den VBA-Code schützen. Dann kann der VBA-Code nur nach Eingabe eines Passwortes eingesehen werden.

Natürlich gibt es keine 100%ige Sicherheit und es gibt fast immer Mittel und Wege einen Schutz zu knacken.

Gruß

M.O.

0 Punkte
Beantwortet von
Guten Morgen M.O., vielen Dank für Deine Antworten und Deine schnelle Hilfe.

Konnte ich gut gebrauchen. Jetzt funktioniert alles.

Wünsche Dir einen schönen Tag.

VG

Serena
0 Punkte
Beantwortet von
Hallo zusammen,

ich bin absoluter Makro Neuling und habe nach diesen Tipps versucht, genau dasselbe Makro zu bauen. Leider erfolglos. Es wäre super, wenn mir jemand helfen könnte, wie ich die Stundentabelle meiner Mitarbeiterin so verändern kann:

>Zeitstempel mittels Makro setzen, der für MA nicht mehr veränderbar ist

> soll für komplette Arbeitsmappe gelten (Monatliche Sheets)

>Zeitstempel sollen in Spalten D (ein) und E (aus) eingetragen werden

Hier mein Makro (aber es geht nicht):

Sub Zeitstempel()
'
' Zeitstempel Makro
'
' Tastenkombination: Strg+Umschalt+A
'
Unprotect "pw"     'Blattschutz aufheben
Columns("D:E").Select
Selection.Find(What:="").Activate
ActiveCell.FormulaR1C1 = Format(Now, "hh:mm:ss")
Application.Run "'Stundenzettel 2022_Christa.xlsx'!Zeitstempel"
Application.Goto Reference:="Zeitstempel"
Protect "pw"     'Blattschutz setzen
End Sub

> Muss ich noch ein Passwort unter "Arbeitsmappe schützen" setzen damit es funktioniert?

> Der Zeitstempel wird doch gesetzt wenn ich auf das Feld gehe und "Strg+Umschalt+A" eingebe oder?

Danke für Eure Unterstützung!

Peter
...