3.6k Aufrufe
Gefragt in Tabellenkalkulation von rheym Einsteiger_in (91 Punkte)
Hallo,

ich habe folgendes Problem:
ich habe einen Fragebogen entworfen, der von verschiedenen Benutzern ausgefüllt werden soll. Dazu habe ich bei den Zellen, die beantwortet werden sollen, die Sperrung in der Formatierung aufgehoben und dann das Arbeitsblatt gesperrt. Damit können nur die von mir vorgesehenen Felder ausgefüllt werden.
Nach dem Ausfüllen muss ich die Eingaben kontrollieren. Wenn alles korrekt ausgefüllt ist, möchte ich das Arbeitsblatt für die Bearbeitung komplett sperren und abspeichern und eine Information auf dem Fragebogen sichtbar machen, dass das Arbeitsblatt jetzt komplett gesperrt ist. Diese Aktion soll nur mit einem (nur mir bekannten) Passwort möglich sein. Falls ich im Nachhinein aber doch eine Veränderung einfügen will, muss ich das Arbeitsblatt wieder entsperren können (auch mit Passwort)
Ich habe folgendes gemacht:
2 Buttons im Arbeitsblatt und folgendes Makro :

Sub SpeichernAbschließen()

If Range("P1").Value = "Arbeitsblatt abgeschlossen" Then

MsgBox ("Arbeitsblatt bereits abgeschlossen")

Else
ActiveSheet.Unprotect
Range("A2").Value = "Arbeitsblatt abgeschlossen"

Cells.Select
Selection.Locked = True

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
ActiveSheet.EnableSelection = xlNoSelection
Range("A1").Select

Worksheets("Reevaluation").Protect Passwort
ActiveWorkbook.Save
MsgBox ("Arbeitsblatt abgeschlossen und gespeichert!")

End If
End Sub

' == Funktion: Abhließen aufheben ==
Sub AbschließenAufheben()

If Range("P1").Value = "Arbeitsblatt offen" Then

MsgBox ("Arbeitsblatt bereits geöffnet")

Else

ActiveSheet.Unprotect
Range("A2").Value = "Arbeitsblatt offen"

Cells.Select
Selection.Locked = False

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
ActiveSheet.EnableSelection = xlUnlockedCells
Range("A1").Select

Worksheets("Reevaluation").Protect Passwort
MsgBox ("Arbeitsblatt wieder geöffnet!")

End If
End Sub

jetzt habe ich das Problem, dass das Makro mal nach dem Passwort fragt und mal nicht. Kann mir jemand helfen, wie ich die Passwortabfrage bei beiden Makros sicher einbauen kann?

vielen Dank

Richard

3 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Richard,


Option Explicit

Sub SpeichernAbschließen()
If Range("P1").Value = "Arbeitsblatt abgeschlossen" Then
MsgBox ("Arbeitsblatt bereits abgeschlossen")
Else
ActiveSheet.Unprotect "Passwort"
Range("A2").Value = "Arbeitsblatt abgeschlossen"
Cells.Locked = True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
ActiveSheet.EnableSelection = xlNoSelection
Worksheets("Reevaluation").Protect "Passwort"
ActiveWorkbook.Save
MsgBox ("Arbeitsblatt abgeschlossen und gespeichert!")
End If
End Sub

' == Funktion: Abhließen aufheben ==
Sub AbschließenAufheben()
If Range("P1").Value = "Arbeitsblatt offen" Then
MsgBox ("Arbeitsblatt bereits geöffnet")
Else
ActiveSheet.Unprotect "Paaswort"
Range("A2").Value = "Arbeitsblatt offen"
Cells.Locked = False
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
ActiveSheet.EnableSelection = xlUnlockedCells
Worksheets("Reevaluation").Protect "Passwort"
MsgBox ("Arbeitsblatt wieder geöffnet!")
End If
End Sub


Gruß Hajo
0 Punkte
Beantwortet von rheym Einsteiger_in (91 Punkte)
Hallo Hajo,

danke für Deine Antwort. Ich habe das Makro ausprobiert, aber das Passwort wird leider nicht abgefragt. Könnte das daran liegen, dass ich den Großteil der Zellen für die Bearbeitung gesperrt habe und es irgendwelche Konflikte bei der zusätzlichen Sperrung der restlichen Zellen gibt?

viele Grüße

Richard
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Richard,

das Passwwort wird nicht abgefragt da es m Code steht. Falls Du es abgefragt haben mchtest entferne "Passwort"

Gruß Hajo
...