Clever-Excel-Forum

Normale Version: Blattschutz
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallöchen.
Ich habe ein kleines Problem und bräuchte eure Hilfe. Ich bin leider noch blutiger Anfänger und kenne mich noch nicht zu 100% mit der Materie aus.

Arbeitsablauf:
In einer von mir erstellten Userform werden Werte erfasst. Beim Klick auf eine Schaltfläche, wird das Arbeitsblatt kopiert und an einen vorgegebenen Ort gespeichert.
Der Dateiname setzt sich zusammen aus:
 Zelle(1,2)   = KST
 Zelle(30,3) = Monat (vom Nutzer eingegeben)
 Zelle(30,5) = Jahr (vom Nutzer eingegeben)

Beim Speichern der Datei wird auch ein Passwort erzeugt. Ich möchte, dass dieses Passwort bis zu einem bestimmten Tag des vorher erfassten Monats inaktiv ist und erst ab dem Tag x scharf geschaltet ist.

Mein Code schaut bisher so aus:

If Month(Now()) <> Cells(30, 3).Value And Day(Now()) > 5 Then
ActiveSheet.Protect Password:="Zick", UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
ActiveSheet.unprotect

End If

Vielen Dank schon einmal für eure Hilfe.


Mit freundlichen Grüßen

Fliege
Dein Code schaut sicher nicht so aus, das ist nur ein Schnipsel.

Du könntest so pseudo Code mässig folgendes machen

Code:
Dim ExpirationDate As Date
' Expiration date setzen

   If CDate(Now) >= CDate(ExpirationDate) Then
       ' Do sth
   End If
Sorry aber das wird so leider nicht funktionieren.

Ich muss irgendwie den aktuellen Monat mit der Zelle(30,3) abgleichen, da sich dort der eingetragene Monat befindet. (als Text)
Im Anschluss müsste noch der aktuelle Tag abgeglichen werden, bis zum 05 jeden Monats ist die Bearbeitung erlaubt und danach gesperrt.


Hoffentlich habe ich mich verständlich ausgedrückt. Sind weitere Angaben für die Lösung erforderlich? Sorry aber ich bin noch absolut neu hier im Forum und noch nicht zu 100% mit den Spielregeln vertraut.

Mit freundlichen Grüßen

Fliege
Doch, ist ja Pseudo Code. Prinzipiell sollte das so gehen.

Wenn ich das richtig verstanden habe, hast Du eine Datei A mit einer Userform. In dieser Userform gibt es eine Schaltfläche, die ein Arbeitsblatt der Datei A in eine Datei B speichert. Diese Datei B versiehst Du mit einem Blattschutz. Und nun möchtest Du, dass dieser Blattschutz erst ab einem bestimmten Datum aktiv wird. Das wird ohne ein Makro in Datei B nicht gehen. Dies Makro sollte abgefeuert werden, wenn Datei B geöffnet wird, also in Workbook_open liegen. Und das Makro sollte den Blattschutz setzen oder freigeben, je nach Expiration-Date.

PS "Bullet-Proof" ist das natürlich nicht, denn jeder mit etwas Kenntnis wird das Workbook_Open Makro und auch den Blattschutz aushebeln können
Hallo,

Zitat:Das wird ohne ein Makro in Datei B nicht gehen. 

das würde schon gehen, denke ich, ist nur ein bischen fisselig, das Makro in Datei A zu haben und dort zur Zeit starten.
Dazu müßte man aber wissen, ob mit der Datei weitergearbeitet wird, also über den 05. hinaus. Dann sollte es funktionieren.
Bleibt die Datei A aber nach dem Speichern der Datei B als Dateileiche liegen, dann ist wohl ein Makro in Datei B unumgänglich.

Zitat:PS "Bullet-Proof" ist das natürlich nicht, denn jeder mit etwas Kenntnis wird das Workbook_Open Makro und auch den Blattschutz aushebeln können

und wieder taucht die Frage auf, für wen ist das ganze Zeug gedacht? Für jemanden mit reichlich krimineller Energie, der kommt
letztendlich überall rein, oder ist das dafür gedacht, daß der freundliche Herr am Nachbarschreibtisch in der Zeit, wo ich mal auf dem
Örtchen bin, mir nicht 'ne lange Nase zeigen kann? Dann reicht sowas nämlich alle Male.
(01.08.2016, 23:21)Käptn Blaubär schrieb: [ -> ]..und wieder taucht die Frage auf, für wen ist das ganze Zeug gedacht? Für jemanden mit reichlich krimineller Energie, der kommt
letztendlich überall rein, oder ist das dafür gedacht, daß der freundliche Herr am Nachbarschreibtisch in der Zeit, wo ich mal auf dem
Örtchen bin, mir nicht 'ne lange Nase zeigen kann? Dann reicht sowas nämlich alle Male.
Um das Workbook_open Makro zu umgehen, reicht das Drücken der Shift-Taste. Da braucht es nicht krimineller Energie!

Klar, es ist immer die Frage, was will ich mit dem Blattschutz erreichen. Meistens ist es unnötig, weil der freundliche Herr am Nebentisch mir eben keine lange Nase zeigen will.
Guten Morgen,

also mit der Datei B möchte ich weiterarbeiten. Ich möchte nur nicht, dass meine Mitarbeiter ihre vorher getätigten Eingaben beliebig verändern können. Der Blattschutz soll dazu führen, dass die Mitarbeiter bis zum fünften jeden Monats ihre erwarteten Kosten festgelegt haben. Danach kann man nur noch mittels Passwort die Datei öffnen.

Fliege
Hallo,

Zitat:also mit der Datei B möchte ich weiterarbeiten. Ich möchte nur nicht, dass meine Mitarbeiter ihre vorher getätigten Eingaben beliebig verändern können. Der Blattschutz soll dazu führen, dass die Mitarbeiter bis zum fünften jeden Monats ihre erwarteten Kosten festgelegt haben. Danach kann man nur noch mittels Passwort die Datei öffnen.

dann ist es sinnvoll, das Makro in Datei B in "DieseArbeitsmappe" zu installieren
(02.08.2016, 09:24)Fliege1711 schrieb: [ -> ].... Danach kann man nur noch mittels Passwort die Datei öffnen.

Fliege
Das hört sich jetzt nach einem Passwort beim Öffnen der Datei an und nicht nach einem Blattschutz. Was denn nun?
Hallöchen,

ich möchte ein Passwort verwenden und nicht den Blattschutz.
Das habe ich aber auch so in meinem ersten Beitrag geschrieben.

Fliege
Seiten: 1 2