zellen mit formeln schützen

  • #1
H

hans jupp

Bekanntes Mitglied
Themenersteller
Dabei seit
20.06.2003
Beiträge
473
Reaktionspunkte
0
hallo,

gibt es eine möglichkeit, daß excel 2002 alle zellen, in denen formeln stehen automatisch schützt?

mein problem ist, daß ich mehrere umfangreiche tabellen habe, und es sehr mühselig wäre, alle formeln manuelle zu suchen und zu schützen.

wäre das ganze ansonsten über ein makro lösbar?


vielen dank schon mal für eure hilfe :)
 
  • #2
kath.hundefriseursalon schrieb:
und es sehr mühselig wäre, alle formeln manuelle zu suchen und zu schützen.

Moin,
sehr mühselig zu suchen ?

Drück mal STRG + #

Jetzt werden dir alle Formeln angezeigt ;)

Rückgängig auch STRG + #

gruß
safer
 
  • #3
hallo safer,

das ist ja einfach ;D - und wieder was dazugelernt -

aber da es sich halt um mehrere dateien mit etlichen tabellen handelt, wäre mir eine automatische funktion noch lieber ::)



ansonsten werde ich auf deine möglichkeit zurückgreifen ;D


gruß
kath.hundefriseursalon
 
  • #4
Hi kath.hundefriseursalon,

ein Makro, um es dir zu erleichtern.

Gruß Matjes :)

Code:
Sub Schutz_Formeln()
'*** Makro schaltet in der aktiven Arbeitsmappe
'*** für alle Zellen, die eine Formel beinhalten, den Schutz ein.
'*** Für alle anderen Zellen wird der Schutz ausgeschaltet.
'*** Wird auf einem Blatt eine Zelle schreibgeschützt gesetzt,
'*** wird auch der Blattschutz eingeschaltet.
  
  Dim blatt As Worksheet
  Dim zelle As Range
  
  For Each blatt In ActiveWorkbook.Worksheets
    blatt.Activate
    blatt.Unprotect
    blatt.Cells.Locked = False
    
    For Each zelle In blatt.UsedRange
      If Left(zelle.FormulaR1C1, 1) = = Then
        blatt.Unprotect
        zelle.Locked = True
        blatt.Protect Contents:=True
      End If
    Next
  Next
  
  Set blatt = Nothing: Set zelle = Nothing
End Sub
 
  • #5
hallo makro-könig,

vielen dank, das klappt einwandfrei :)

um mir die zellen, in denen formeln stehen farbig hervorzuheben, habe ich in die innere for next schleife noch den befehl: zelle.Interior.ColorIndex = 38 eingefügt.
wie du dir denken kannst klappt das leider nicht. vb sagt->400' und wenn ich auf hilfe klicke, kommt gar nichts ?!?

hast du vielleicht auch noch einen vorschlag für mich?

gruß,
kath.hundefriseursalon
 
  • #6
Hi kath.hundefriseursalon,

das mit dem Fehler 400 kann ich nicht nachvollziehen.

Besagt: Formular wird bereits angezeigt und kann daher nicht gebunden dargestellt werden (Fehler 400)
Ich hätte er 1004 erwartet.

Nun denn, der Ansatz ist gut.
Probier's mal so:

Code:
Sub Schutz_Formeln()
'*** Makro schaltet in der aktiven Arbeitsmappe
'*** für alle Zellen, die eine Formel beinhalten, den Schutz ein.
'*** Für alle anderen Zellen wird der Schutz ausgeschaltet.
'*** Wird auf einem Blatt eine Zelle schreibgeschützt gesetzt,
'*** wird auch der Blattschutz eingeschaltet.
'***
'*** jetzt werden die Formeln farbig hervor
  
  Dim blatt As Worksheet
  Dim zelle As Range
  
  For Each blatt In ActiveWorkbook.Worksheets
    blatt.Activate
    blatt.Unprotect
    blatt.Cells.Locked = False
    
    For Each zelle In blatt.UsedRange
      If Left(zelle.FormulaR1C1, 1) = = Then
        blatt.Unprotect
        zelle.Interior.ColorIndex = 38
        zelle.Locked = True
        blatt.Protect Contents:=True
      End If
    Next
  Next
  
  Set blatt = Nothing: Set zelle = Nothing
End Sub

Gruß Matjes :)
 
  • #7
hallo matjes,

jawohl, so funktioniert es !!!

ich hatte den befehl nach zelle.locked=true eingesetzt.
mit ein bischem nachdenken, hätte mir das auch selber auffallen können.

trotzdem vielen dank nochmal ;D
 
Thema:

zellen mit formeln schützen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben