Herbers Excel-Forum - das Archiv

Userform soll Blattschutz regeln

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Betrifft: Userform soll Blattschutz regeln
von: Andreas

Geschrieben am: 10.09.2019 12:21:52
Hallo Zusammen,
Meine Userform arbeitet in einem Tabellenblatt, dass ich normal mit einem Blattschutz sichern möchte.
Ist der Blattschutz für dieses Tabellenblatt aktiviert, kann ich jedoch keine Eingabe mehr durch die Userform ausführen.
Ideal wäre es, wenn in meinem Code die Userform vor Eingabe überprüft, ob ein Blattschutz drauf ist. Diesen deaktiviert (oder ignoriert falls kein Blattschutz aktiviert ist) und am Ende der Eingabe der Blattschutz wieder aktiviert wird (Wenn dieser zuvor auch aktiviert war).
Ich weiß, dass der Blattschutz normal in meinem Modul programmiert wird, kann ich diesen dann trotzdem mit der Userform unter einen Hut bringen?
Ist das möglich? Und wenn ja wie muss dich diesen programmieren?
Vielen Dank für Hilfe

Betrifft: AW: Userform soll Blattschutz regeln
von: 1712238.html
Geschrieben am: 10.09.2019 12:24:43
Hallo,
wenn du den Blattschutz setzt mit .Protect userinterfaceOnly:=True dann sind Eingaben per VBA code im Blatt immer noch moeglich. Nur manuelle Zelleingaben sind gesperrt.
Gruss Torsten

Betrifft: AW: Userform soll Blattschutz regeln
von: 1712259.html
Geschrieben am: 10.09.2019 13:56:44
Hallo Torsten,
danke für die Info.
Wie muss mein Code u.s. dann Aussehen?

Sub Blattschutz_ein()
Dim Blatt As Worksheet
For Each Blatt In ActiveWorkbook.Worksheets
Blatt.Protect ("2019")
.Protect userinterfaceOnly:=True
Next Blatt
End Sub

Betrifft: AW: Userform soll Blattschutz regeln
von: 1712276.html

Geschrieben am: 10.09.2019 14:52:44
Hallo Andreas,
am besten du packst den Code erstmal in das Workbook_Open Ereignis. Dann werden die Blaetter beim Oeffnen geschuetzt. Dann folgenden Code:

Private Sub Workbook_Open()
Dim Blatt As Worksheet
For Each Blatt In ThisWorkbook.Worksheets
Blatt.Protect userinterfaceOnly:=True, Password:="2019"
Next Blatt
End Sub


Gruss Torsten

Betrifft: AW: Userform soll Blattschutz regeln
von: 1712298.html
Geschrieben am: 10.09.2019 16:19:51
Hallo Torsten,
gute Idee, werde den Blattschutz aber weiter als Makro ausführen lassen.
Vielen Dank für die Hilfe

Betrifft: gerne und danke fuer die Rueckmeldung
von: 1712384.html
Geschrieben am: 11.09.2019 07:35:14

Betrifft: AW: gerne und danke fuer die Rueckmeldung
von: 1712792.html

Geschrieben am: 13.09.2019 08:19:12
Hallo Torsten,
ich habe beide Codes getestet und komme leider immer noch nicht auf einen grünen Nenner.
Die Funktion Eingabe trotz Blattschutz funktioniert nur bedingt, bei der Eingabe bekomme ich eine Fehlermeldung angezeigt und die Eingabe bricht ab.
Die Debug Funktion bringt mich zu folgendem Code:
Private Sub CommandButton1_Click()
If (Fehler01 > 0) And Fehler01.Text <> "" Then
Wert = ws.Cells(10, fehlerspalte)
Wert = Wert + Fehler01
ws.Cells(10, fehlerspalte) = Wert
Else
Wert = ws.Cells(10, fehlerspalte)
Wert = Wert + 0
ws.Cells(10, fehlerspalte) = Wert
End If
End Sub
Kann es sein, da ich einen praktisch mathematischen Vorgang habe - diese Eingabe nicht zugelassen wird?
Viele Grüße

Betrifft: AW: gerne und danke fuer die Rueckmeldung
von: 1712910.html
Geschrieben am: 13.09.2019 13:57:30
in dem Code wird der Blattschutz nicht aufgehoben und am Ende wieder gesetzt.

Betrifft: AW: gerne und danke fuer die Rueckmeldung
von: 1713231.html
Geschrieben am: 16.09.2019 07:10:49
Hallo Hajo,
durch "userinterfaceOnly:=True" muss ich diesen ja nicht extra setzen und wieder deaktivieren oder?
Was muss ich Deiner Meinung nach machen?

Betrifft: AW: gerne und danke fuer die Rueckmeldung
von: 1713351.html
Geschrieben am: 16.09.2019 17:40:14
das konnte ich in dem Beitrag auf den ich geantwortet nicht sehen.
zu "userinterfaceOnly:=True" kann ich dir keine Antwort geben. Ich hätte versucht wenn Blattschutz im Code aufgehoben wird ob das geht.
Gruß Hajo

Betrifft: AW: gerne und danke fuer die Rueckmeldung
von: 1713392.html

Geschrieben am: 17.09.2019 07:59:54
Hallo Hajo,
Genau das war auch meine erste Idee: Also das geprüft wird, ob ein Blattschutz besteht - wenn ja, diesen temporär deaktivieren und nach der Eingabe wieder zu aktivieren. - wenn nein, kann der Code dazu gegenstandslos bleiben.
Ich bekomme diesen Code nur nicht so hin. bzw. ist das überhaupt möglich, da der Blattschutz ja im Modul geschrieben wird und nicht in der Userform?
Vielen Dank und Grüße

Betrifft: AW: gerne und danke fuer die Rueckmeldung
von: 1713336.html

Geschrieben am: 16.09.2019 15:44:55
Hallo Andreas
ich komme noch mal auf deine Frage der Mathematik zurück. Ein Teil im Code ist m.E. überflüssig.
Bei Else holst du den Wert aus: ws.Cells(10, fehlerspalte) - addierst ihn mit 0, und laedst ihn zurück!!
Das aendert doch nix am Ergeebnis, oder??? Auf Deutsch: - Else kann m.E. komplett entfallen.
Laesst sich durch gezieltes den Code in Laufzeitfehler rennen lassen feststellen welche Zeile den Fehler konkret verursacht.
Vielleicht hilft uns das ja bei der Fehlersuche weiter.
mfg Piet

Betrifft: AW: gerne und danke fuer die Rueckmeldung
von: 1713390.html
Geschrieben am: 17.09.2019 07:53:21
Hallo Piet,
im Prinzip stimmt das. Die Userform muss/ soll mir aber in den Zeilen eine 0 ausgeben, für die nichts ausgefüllt wurde, das habe ich immer damit erreicht.
Vielen Dank aber für den Hinweis.

Betrifft: AW: Userform soll Blattschutz regeln
von: 1712402.html

Geschrieben am: 11.09.2019 09:31:22
Hallo Andreas,
gute Ideen sollte man auch umsetzen. Damit ist doch gewährleistet, daß zu jedem Zeitpunkt der Blattschutz gesetzt ist, aber Vba Änderungen im geschützten Blatt vornehmen kann.
Wenn bei Deiner Variante plötzlich:
- der Strom ausfällt
- die PC-Kiste abstürtzt
- Excel sich verheddert
- u.u.u.
kann es sein, daß nach dem Neustart von PC & Excel, der Blattschutz weg ist, und was dann?
fragt sich Luschi
aus klein-Paris

Betrifft: AW: Userform soll Blattschutz regeln
von: 1712438.html
Geschrieben am: 11.09.2019 11:50:27
Hallo Luschi,
ich bin mir über die Vorteile bewusst, welche sich aus der Theorie ergeben.
In der Praxis muss ich mich aber für das entscheiden, was tatsächlich am sinnvollsten ist.
Ich bin dankbar für jeden Vorschlag, den ich von Euch bekomme, werde aber selbst bestimmen was ich wie umsetze.
Nochmals vielen Dank.

Excel-Beispiele zum Thema "Userform soll Blattschutz regeln"
Diagramm in Userform XL-Dateien in UserForm listen
UserForm an Excel-Fenster anpassen Fundstellen in UserForm listen
Module und UserForms austauschen In einer Schleife auf Elemente einer UserForm zugreifen
Werte in eine ComboBox einer UserForm übernehmen Zellinhalt als Label-Aufschrift in UserForm
Alle CheckBoxes einer UserForm ansprechen Wenn kein Eintrag, UserForm nicht schließen
Bewerten Sie hier bitte das Excel-Portal