Wie lock Excel-Zellen in VBA?
Ich habe ein Excel-Arbeitsblatt, das wirkt wie eine Anwendung mit Formular-Steuerelement-Schaltflächen, so dass Anwender zu 'navigieren' durch die Datensätze. Erste, Vorherige, Nächste & Letzten Zyklus entsprechend durch eines der Arbeitsblätter Datensätze, die Darstellung der Werte in "meine" form " - Arbeitsblatt.
Werden, wenn die Benutzer nicht Bearbeiten oder Hinzufügen-Modus, ich möchte das sperren der Zellen zu verhindern, dass Benutzer von der änderung der Inhalte.
Habe ich versucht Range("A1:O24").Locked = True, aber ich bin immer noch in der Lage, geben Sie neue Werte in die Zellen.
Jemand wissen, wie dies zu erreichen? Muss ich meinen vba-code zuweisen können neue Werte in die Zellen als Benutzer 'Navigation', sondern um zu verhindern, dass Benutzer von der Eingabe neuer Werte, es sei denn, im Hinzufügen oder Bearbeiten-Modus.
'ws.Protect userinterfaceonly:=True
im VBA-Lösung, die ziemlich viel sperren der Benutzer-Schnittstelle, und dennoch können Sie Zellen Bearbeiten von VBA-subs.Kleines Wort der Warnung jedoch - die
UserInterfaceOnly
Eigenschaft ist nicht mit der Datei gespeichert! Deshalb, jedes makro wird ausgeführt, in der Frage, wenn Sie eine Datei öffnen - es sei denn, Sie verwenden das Open-Ereignis re-setzen Sie die Eigenschaft!InformationsquelleAutor Analytic Lunatic | 2013-06-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, der Grund dafür ist, dass Sie benötigen, um ein Arbeitsblatt schützen, bevor die Zellen eigentlich gesperrt werden. Alle Zellen sind formatiert als gesperrt standardmäßig so, was Sie wirklich tun möchten ist, legen Sie den Bereich fest, dass Sie nicht möchten, dass gesperrte Bereich().Locked = False und legen Sie dann das Arbeitsblatt geschützt ist.
In dem Fall, dass Sie wollen, dass alle Zellen gesperrt alle Sie tun müssen ist, legen Sie das Arbeitsblatt geschützt
Sie müssen verwenden Sie Arbeitsblatt.Schützen(userInterfaceOnly:=true)
InformationsquelleAutor SELECTCOUNTSTAR
Suchen für Ihren Zustand, ob Benutzer nicht Bearbeiten oder Hinzufügen-Modus, und dann sperren Sie Ihre Auswahl und schließlich das Arbeitsblatt schützen.
Sagen wir zum Beispiel in einem Fall, wenn Sie möchten, dass gesperrte Zellen aus dem Bereich A1 bis I50 dann unten ist der code:
In einem anderen Fall, wenn Sie bereits einen geschützten Blatt, dann Folgen Sie den nachstehenden code:
InformationsquelleAutor Milan Sheth