Anzeige
Archiv - Navigation
1948to1952
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formelschutz

Formelschutz
11.10.2023 17:43:05
jomsn
Hallo zusammen

ich habe früher mal eine Datei mit mehreren (Arbeits-)Mappen gemacht die Formeln enthielten. Damals schützte ich die "schützenswerten Mappen" mit folgendem Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
For Each rng In Target.Cells
If rng.HasFormula Then
ActiveSheet.Protect
Exit Sub
Else
ActiveSheet.Unprotect
End If
Next rng
End Sub

Habe den Code auch von jemandem aus dem Forum erhalten.
Das funktionierte super... bis zum Wechel auf Excel 2016. Funkioniert hier auch noch, aber die Datei (über 50 Mappen) braucht "ewig" bis sie geöffnet resp. auch geschlossen ist.
Gibt es da irgendein Fehler drin oder hat wer eine andere Lösung.

Wäre froh, wenn mir jemand helfen könnte.

Gruss jomsn

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formelschutz
11.10.2023 18:56:45
Piet
Hallo

probier es bitte mal mit diesem Code. Würde mich freuen wenn es damit klappt.
Er gehört ins Blatt ThisWorkbook (DieseArbeitmappe) und wird beim Öffnen für alle Tabellen ausgeführt.
Der Befehl On Error Resume Next ist hier unerlässlich, für Blätter in denen keine Formeln vorkommen!

mfg Piet

  • Private Sub Workbook_Open()
    Dim j As Integer, Zahl As Long
    On Error Resume Next
    For j = 1 To Worksheets.Count
    Worksheets(j).Unprotect: Zahl = Empty
    Zahl = Worksheets(j).Cells.SpecialCells(xlFormulas).Count
    If Zahl > 0 Then Worksheets(j).Protect
    Next j
    End Sub
  • Anzeige
    AW: Formelschutz
    11.10.2023 21:45:01
    jomsn
    Hallo Piet

    Dein Vorschlag geht schon... aber es ist nichts weiteres mehr möglich, als einfache Eingaben in die Zellen zu machen. Kann zum Beispiel nicht mal die Eingabe als fett formatieren oder mal eine Form einfügen. Es ist praktisch nichts mehr möglich.
    Trotzdem danke für deinen Vorschlag.

    Gruss jomsn
    AW: Formelschutz
    11.10.2023 20:46:46
    GerdL
    Moin J.

    Ich behaupte mal, an diesem Code allein liegt es nicht.
    Der ändert den Blattschutz in einer Tabelle.
    Was sind bei dir Mappen?
    Im gängigen Sprachgebrauch sind dies (ganze) Excel-Dateien.
    Hast du weitere Makros die selektieren?

    Gruß Gerd
    Anzeige
    AW: Formelschutz
    11.10.2023 21:54:41
    jomsn
    Hallo Gerd

    in gewissen Dateien habe ich schon noch weitere Makros, das spielt aber keine Rolle. Bis Office Excel 2013 gingen alle Dateien ruckzuck auf und zu.
    Seit Office Excel 2016 braucht es ewig. Auch bei Office 365 dasselbe.

    Ja und mit den Mappen hast du recht. Ich hätte Worksheets schreiben sollen.

    Gruss jomsn
    AW: Formelschutz
    11.10.2023 21:05:25
    onur
    Ich glaube ebenfalls, dass der Hund woanders begraben ist, selbst wenn "dein" Code bei Selektion eines Bereiches mit 100 Zellen schlimmstenfalls 100x ausgeführt wird.
    Bei "Kaum Excel/VBA-Kenntnisse" sind wahrscheinlich jede Menge "Selects" im Code zu finden, die diese Sub zusätzlich aufrufen würden.
    Anzeige
    AW: Formelschutz
    11.10.2023 22:00:54
    jomsn
    Hallo onur

    Eine Datei, 54 Worksheets, in allen nur diesen Code. Bis 2013 alles wunderbar, beim Sprung auf 2016 dauert öffnen und schliessen sehr lange.
    Funktionieren tut das ganze aber daneben schon.

    Gruss jomsn
    AW: Formelschutz
    11.10.2023 22:14:31
    onur
    Statt 54 identischen Codes reicht dieser eine im Modul "diese Arbeitsmappe". Die anderen 54 kannst du löschen.
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    
    Dim rng
    For Each rng In Target.Cells
    If rng.HasFormula Then
    Sh.Protect
    Exit Sub
    End If
    Next rng
    Sh.Unprotect
    End Sub
    Anzeige
    AW: Formelschutz
    12.10.2023 07:07:20
    jomsn
    Super onur

    Das funktioniert. Besten Dank.

    Gruss jomsn
    Gerne !
    12.10.2023 10:11:03
    onur

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige