Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Enable Selection - Zellen Sperre
#1
Servus zusammen,

ich habe mehrere Registerkarten und auf denen sind immer die selbe zellen gesperrt und sollen auch nicht angewählt werden dürfen.
Anfangs hat alles perfekt funktioniert, nach ein paar Wochen konnte ich aber die gesperrten Zellen zwar nicht editieren aber wieder anwählen.

Hab mir damals mehrere Codes geben lassen, damit ich zum einen nur das betreffenden Blatt oder eben die Komplette Mappe auf einmal sperren und entsperren kann.

jetzt zu meiner Frage ... kann hier der Fehler begraben sein bzw kann man in den Code evtl. nachträglich etwas einbauen damit ich die gesperrten Zellen nicht anwählen kann wenn ich diese zuvor mit dem Makro erneut gesperrt habe.

Hier die alten Codes :

Sub BlattschutzAktivesBlattEinschalten()

      ActiveSheet.Protect

End Sub

Sub BlattschutzAusschalten()

    ActiveSheet.Unprotect

End Sub


Sub alle_Blätter_Schutz_aufheben()
   Dim wksBlatt As Worksheet
 
   For Each wksBlatt In ThisWorkbook.Worksheets
      wksBlatt.Unprotect
   Next wksBlatt

End Sub

Sub alle_Blätter_Schützen()
   Dim wksBlatt As Worksheet
   
   For Each wksBlatt In ThisWorkbook.Worksheets
      If wksBlatt.Name <> "Index" Then wksBlatt.Protect
   Next wksBlatt

End Sub

------------------------------------------------------------------------

Hier ist noch ein Code der damit eigentlich nichts zu tun haben dürfte aber zur Sicherheit post ich den trozdem :

Sub Index()
Dim intTab As Integer
Dim tbl As Worksheet
Dim intZeile As Integer
 
Set tbl = Worksheets.Add(Before:=Worksheets(1))
intZeile = 1
For intTab = 2 To ActiveWorkbook.Worksheets.Count
 tbl.Cells(intZeile, 1).Value = Worksheets(intTab).Name
 tbl.Cells(intZeile, 1).Hyperlinks.Add _
 Anchor:=Cells(intZeile, 1), Address:="", SubAddress:= _
        Worksheets(intTab).Name & "!A1", _
        ScreenTip:="Klicken Sie auf den Hyperlink", _
        TextToDisplay:=Worksheets(intTab).Name
 intZeile = intZeile + 1
Next intTab
End Sub



Hoffe ihr habt eine lösung, ist langsam echt nervig das ganze !!!!!!!
Antworten Top
#2
Hi,

hier musst du das Häkchen wegnehmen.

[
Bild bitte so als Datei hochladen: Klick mich!
]
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
eh ja ... hätte ich vielleicht dazu schreiben sollen ;;)

das hab ich schon bei ca 50 Registerkarten einzlen gemacht ... und nicht nur einmal ::(

aber der fehler taucht sobald die mappe geschlossen und neu geöffnet wird leider wieder auf.

ich hab keine ahnung warum oder wieso ...

darum wollte ich das direkt in den code einbauen sodass ich endl meine ruhe habe.
Antworten Top
#4
Hi,

Zitat:darum wollte ich das direkt in den code einbauen sodass ich endl meine ruhe habe.

ich habe mal den Vorgang aufgezeichnet.


Zitat:Sub BlattschutzGesperrteZellen()
'
' BlattschutzGesperrteZellen Makro
'

'
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
wenn ich den neuen code durch den alten ersetze hat das leider keine auswirkung :(
Antworten Top
#6
Hi,

probiere es mal so


Zitat:Option Explicit

Sub BlattschutzAktivesBlattEinschalten()
    With ActiveSheet
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        .EnableSelection = xlUnlockedCells
        .Protect
    End With

End Sub
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • lion7123
Antworten Top
#7
Hi,

(10.05.2016, 18:03)lion7123 schrieb: wenn ich den neuen code durch den alten ersetze hat das leider keine auswirkung :(

du solltest ja auch den alten durch den neuen ersetzen und nicht anders rum, oder?
Antworten Top
#8
Hallo Günter,

das sollte wohl vor dem Schützen passieren.

Code:
Sub BlattschutzAktivesBlattEinschalten()
   With ActiveSheet
       .EnableSelection = xlUnlockedCells
       .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
   End With

End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • lion7123
Antworten Top
#9
Guten morgen ::)

also .. es funktionieren beide codes und ist auf jeden fall schonmal viel einfacher falls der fehler nochmal auftreten sollte.
Ich sag schonmal Danke an euch zwei für eure Mühe!!!!

Aber ist es auch möglich das ihr den code hier einbaut ?

------------------------

Sub alle_Blätter_Schützen()
   Dim wksBlatt As Worksheet
   
   For Each wksBlatt In ThisWorkbook.Worksheets
      If wksBlatt.Name <> "Index" Then wksBlatt.Protect
   Next wksBlatt

End Sub

-------------------------

dann wäre ich immer auf der sicheren Seite da ich die einzelblatt sperre weniger oft nutze wie diese.

Gruß
Antworten Top
#10
Hallo,

versuchs mal so

Code:
Sub alle_Blätter_Schützen()
  Dim wksBlatt As Worksheet
 
  For Each wksBlatt In ThisWorkbook.Worksheets
     If wksBlatt.Name <> "Index" Then
         wksBlatt.EnableSelection = xlUnlockedCells
         wksBlatt.Protect
     End If
  Next wksBlatt

End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • lion7123
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste