Herbers Excel-Forum - das Archiv

Im Schutz sollen alle Formel unsichtbar bleiben

Bild

Betrifft: Im Schutz sollen alle Formel unsichtbar bleiben
von: Becker

Geschrieben am: 30.04.2008 01:54:58

Hallo liebe Excel-Freunde,
Bitte seit mir nicht böse für (einfache) Frage aber ich finde leider nicht passende Lösung dazu.
Irgendwie gelingt mir den Code "Worksheet_SelectionChange"(s.u.) nicht richtig zum anpassen und bin auch zuwenig Profi, um zu sehen, woran das liegt.
"Worksheet_SelectionChange" habe in diesem Forum gefunden. Der schütz alle Formel und Verknüpfungen vor Veränderung in Tabelle.
Kann man den Code letzeten Schliff geben das die Formel usichtbar bleiben?
Das macht die "FormulaHidden = True". Die habe ich probiert einzubaun in unteren Code aber da bekomme ich immer die Fehler Meldung.


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
' Formel dürfen nicht geändert werde
' sollen Formel geändert werden sind diese einzeln auszuwählen
Dim RaZelle As Range
Dim InMldg As Integer
Dim Test As String
For Each RaZelle In Range(Target.Address)
Test = RaZelle.Address
' es dürfen keine gefüllten Zellen ausgewählt werden
'If RaZelle.Value <> "" Then
' es dürfen keine Zellen mit Formeln ausgewählt werden
If RaZelle.HasFormula Then
'Diesen Teil reinnehmen falls formeln geändert werden dürfen
'InMldg = MsgBox("Wollen Sie die Formel ändern", vbYesNo + vbQuestion, "Formelabfrage ?", "", 0) _
'If InMldg = 6 Then Exit Sub
Cells(Target.Row, Target.Column + 1).Select
Exit For
End If
Next RaZelle
End Sub


Mit Makrorekorder sihet es so aus(s.u.): aber das hat nur mit ausgewählten Bereich zu tun.
Die Varinate mit "Worksheet_SelectionChange" wäre mir lieber.
Sub MeinMakroZumFormelSchutz()
Range("A1:C28,E1:F28").Select
Range("E1").Activate
Selection.Locked = False
Selection.FormulaHidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("E10").Select
End Sub


Wäre super, wenn mir jemand helfen könnte, der sich damit auskennt.
Ich Danke Euch für Euer Mühen
Freue mich über jeden Hinweis!
Netten Gruß
Daniel

Bild

Betrifft: AW: Im Schutz sollen alle Formel unsichtbar bleibe
von: Beverly

Geschrieben am: 30.04.2008 08:05:53
Hi Daniel
damit Formeln nicht angezeigt werden bei aktiviertem Blattschutz ist kein VBA notwendig. Zellen markieren -> Rechtsklick -> Zellen formatieren -> Reiter: Schutz -> Ausgeblendet.


Bild

Betrifft: AW: Im Schutz sollen alle Formel unsichtbar bleibe
von: Becker

Geschrieben am: 30.04.2008 14:03:48
Hallo Karin,
vielen Dank für Dein Tipp. Das habe ich gerade ausprobiert.
Da ich sehr vielen Tabellen Blätter habe, die ich schützen möchte, dache ich es mir in oberen Code den Befehl "FormulaHidden = True" einzubauen.
Der Code Ereignis in dem Worksheet erlaubt nicht das markieren oder kopieren und springt immer ins freie Zeile.
Aber sobald man die Zeile mit Formel anklickt und mit die linke gedruckte Maustaste drauf bleibt kann man immer noch die Formel ablesen.
Und das wollte ich eigentlich unsichtbar machen.
In Deinen Hinweis wenn man dazu unter Reiter: Schutz - Ausgeblendet noch den Gesperrt markiert dann wäre das die Lösung auch ohne VBA.
Da ich leider der Anfänger in VBA bin wollte Euch Profis fragen ob es funktionieren konnte wenn man den Befehl "FormulaHidden = True" dazu baut.
Da die Tabellen bei mir an unterschiedlichen Stellen die Formel haben wäre das für mich mit Hilfe VBA die beste Lösung.
Für einen guten Hinweis bin ich sehr dankbar.
Gruß
Daniel

Bild

Betrifft: AW: Im Schutz sollen alle Formel unsichtbar bleibe
von: Beverly
Geschrieben am: 30.04.2008 14:56:53
Hi Daniel,
also bei mir wird, wenn ich die Eigenschaft "Ausgeblendet" für die Zelle einstelle und das Blatt schütze, keine Formel angezeigt.



Bild

Betrifft: AW: Im Schutz sollen alle Formel unsichtbar bleibe
von: Becker

Geschrieben am: 30.04.2008 17:30:22
Hallo Karin,
Du hast Recht. Das stimmt bei mir ist es genau so aber ich stehe vor ca 50 Tabellen Blätter wo man in verschidenen Zielen Bereichen den Schutz auf diese Art und Weise vornehmen muß.
Dazwischen sind die leere Zeilen und die sollen nicht geschützt werden.
Also es gibt keine Chance den Befehl "FormulaHidden = True" in den Code Ereignis in dem Worksheet einzubauen?
Da ich viele Tabellen Blätter damit schützen möchte wäre mir natürlich viel lieber den Befehl "FormulaHidden = True" ins Code Ereignis von dem Worksheet einzubauen.
Ansonsten muss ich mit der manuellen Weg alles extra Schützen.
Trotzdem ich danke Dir für deine nette Hilfe.
Netten Gruß
Daniel

Bild

Betrifft: AW: Im Schutz sollen alle Formel unsichtbar bleibe
von: Beverly

Geschrieben am: 30.04.2008 19:04:08
Hi Daniel,
ich habe mir den gesamten Thread jetzt mehrmals intensiv durchgelesen, aber mir ist nicht so richtig klar, was du eigentlich machen willst.
Eine Formel lässt sich nur ausblenden, wenn der Blattschutz gesetzt ist. Also musst du die Zellen, in die eine Eingabe erfolgen soll, sowieso entsperren.
Hier mal ein Code, wie du für alle Zellen im benutzten Bereich die Sperre aufhebst und für Zellen, die eine Formel enthalten, die Formel ausblendest.


Sub tabelle_einrichten()
Dim raZelle As Range
ActiveSheet.Unprotect
For Each raZelle In ActiveSheet.UsedRange
If raZelle.HasFormula Then
raZelle.FormulaHidden = True
Else
raZelle.Locked = False
End If
Next raZelle
ActiveSheet.Protect
End Sub




Bild

Betrifft: AW: Im Schutz sollen alle Formel unsichtbar bleibe
von: Becker

Geschrieben am: 02.05.2008 00:25:28
Hallo Karin,
Ich danke Dir Karin vielen mal. Das funktioniert prima. Genau so wie ich es gesucht habe.
Danke schön für die nette Unterstützung.
Dieser Forum und Ihr alle seit echt Klasse.
MfG
Daniel

 Bild
Excel-Beispiele zum Thema "Im Schutz sollen alle Formel unsichtbar bleiben"
Kennwort für Blattschutz Blattschutz aufheben
Kommentare in geschützte Tabellen einfügen Tabelle vor der Bearbeitung schützen
Blattschutzdialog über VBA aufrufen In geschützter Zelle in geschütztem Blatt Werterhöhung
Passwortgeschützte Mappe öffnen, Daten kopieren, schliessen Blattschutz für eine Serie von Tabellen setzen und aufheben
Blattschutz beim Speichern setzen Zellschutz nur für Formeln