Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Userform soll Blattschutz regeln


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.

GrußformelHomepage

  

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.

Beiträge aus dem Excel-Forum zum Thema "Userform soll Blattschutz regeln"