Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Im Schutz sollen alle Formel unsichtbar bleiben

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

  

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.



GrußformelBeverly's Excel - Inn


  

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


  

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.



GrußformelBeverly's Excel - Inn


  

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


  

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




GrußformelBeverly's Excel - Inn


  

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


 

Beiträge aus den Excel-Beispielen zum Thema "Im Schutz sollen alle Formel unsichtbar bleiben"