Informationen und Beispiele zum Thema CommandButton | |
---|---|
![]() |
CommandButton-Seite mit Beispielarbeitsmappe aufrufen |
Informationen und Beispiele zum Thema Userform | |
---|---|
![]() |
Userform-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: Blattschutz per Userform ein und ausschalten
von: Andreas
Geschrieben am: 25.09.2019 15:25:16
Hallo Zusammen,
auf diese Frage habe ich vor zwei Wochen bereits eine Lösung gesucht aber bin leider noch nicht weitergekommen.
Grob geht es darum in einer Datei mit eingeschaltetem Blattschutz eine Eingabe durch die Userform zuzulassen.
Vorab: Ich habe bereits versucht mit "Blatt.Protect userinterfaceOnly:=True" mein Problem zu lösen aber die Eingabe wird stellenweise immer noch blockiert, egal wie ich es versuche.
Daher benötige ich einen Code der vor Eingabe der Userform ü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: Blattschutz per Userform ein und ausschalten
von: Werner
Geschrieben am: 25.09.2019 15:38:21
Hallo Andreas,
ich wüsste nicht, warum das mit UserInterfaceOnly nicht gehen sollte.
Das Makro gehört ins Codemodul von "DieseArbeitsmappe"
Private Sub Workbook_Open() 'Blattname anpassen Worksheets("Tabelle1").Protect Password:="Andreas", userinterfaceonly:=True End SubNach Einfügen des Makros die Datei speichern, schließen und wieder öffnen.
Betrifft: AW: Blattschutz per Userform ein und ausschalten
von: Andreas
Geschrieben am: 26.09.2019 07:23:16
Hallo Werner,
das Makro ist im Moment in meinem Modul, kann das mein Problem sein?
Sub Blattschutz_ein() Dim Blatt As Worksheet For Each Blatt In ThisWorkbook.Worksheets Blatt.Protect userinterfaceOnly:=True, Password:="Andreas" Next Blatt End SubKomisch/ auffallend ist auch, dass an meinem Rechner das Makro immer funktioniert hat aber an einem fremden Rechner nicht.
Betrifft: AW: Blattschutz per Userform ein und ausschalten
von: Andreas
Geschrieben am: 26.09.2019 08:22:42
Hallo Werner,
ich habe das Makro jetzt in "DieseArbeitsmappe" gepackt, leider immer noch nicht erfolgreich.
An meinem Rechner wird die Eingabe zugelassen aber an einem anderen Rechner nicht.
Die Debug Funktion verweist auf u.s. Codeabschnitt (letzte Zeile)
Private Sub CommandButton1_Click() If (Fehler01 > 0) And Fehler01.Text <> "" Then Wert = ws.Cells(10, fehlerspalte) Wert = Wert + Fehler01 ws.Cells(10, fehlerspalte) = Wert End SubBitte um Hilfe (Kann die Datei leider nicht hochladen)
Betrifft: AW: Blattschutz per Userform ein und ausschalten
von: Andreas
Geschrieben am: 26.09.2019 07:53:43
Hallo Werner,
meine Userform muss in Modul1 ein Makro starten, dass zusätzlich auch Daten ändert. Kann dass das Problem sein, dass das über die "userinterfaceonly:=True" Berechtigung hinaus geht?
Betrifft: AW: Blattschutz per Userform ein und ausschalten
von: Werner
Geschrieben am: 26.09.2019 11:12:03
Hallo Andreas,
zu deiner Frage: Nein
Wenn es um alle Blätter geht, dann mußt du im Workbook_Open auch über alle Blätter laufen und den Blattschutz setzen.
Private Sub Workbook_Open() Dim Blatt As Worksheet For Each Blatt In ThisWorkbook.Worksheets Blatt.Protect Password:="Andreas", userinterfaceOnly:=True Next Blatt End SubDas Makro in deinem Modul, mit dem du den Blattschutz setzt, bitte löschen.
Betrifft: AW: Blattschutz per Userform ein und ausschalten
von: Torsten
Geschrieben am: 25.09.2019 15:38:56
Hallo,
also mal als Hinweis. Mit
If Sheets("Tabelle1").ProtectContents = True Then Sheets("Tabelle1").Unprotect "???" End If
Betrifft: AW: Blattschutz per Userform ein und ausschalten
von: Andreas
Geschrieben am: 26.09.2019 07:24:56
Hallo Torsten,
vielen Dank, ich werde das mal versuchen.