Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
692to696
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
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

"Wenn Blattschutz dann"....

"Wenn Blattschutz dann"....
14.11.2005 09:32:44
Fabio
Hallo zusammen,
ein nicht eiliges Problem, mehr als "Nice to have" gesucht.
Ich habe in meiner Excel-Tabelle fünft Arbeitsblätter. Im "fünften" Blatt ist ein VBA (aus dem Forum) hinterlegt, das mir alle Blätter auf Blattschutz setzt.
Nun hätte ich gerne in jedem Arbeitsblatt in dem Feld "B2" das Wort "Blattschutz gesetzt" stehen, wenn der Blattschutz an ist; bzw. das Wort "kein Blattschutz" wenn der eben nicht gesetzt ist.
Danke !
Fabio

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Wenn Blattschutz dann"....
14.11.2005 09:43:03
Jan
Hi Fabio,
Probier mal folgendes Makro:
Sub Schutz()
If ActiveSheet.ProtectContents = True Then
MsgBox "Blattschutz gesetzt."
Else
MsgBox "kein Blattschutz."
End If
Jan
AW: "Wenn Blattschutz dann"....
14.11.2005 11:04:34
Luschi
Hallo Fabio,
eigentlich wollte ich Dir folgende Lösung vorschlagen:
Function testBlattschutz(rg As Range) As String
Application.Volatile
Dim s As String
If ThisWorkbook.Worksheets(rg.Parent.Name).ProtectContents Then
s = "Blattschutz gesetzt"
Else
s = "kein Blattschutz"
End If
testBlattschutz = s
End Function

Formel in Zelle B2: =testBlattschutz(A1).
Im Prinzip klappt das auch. Aber leider löst das Setzen/Entfernen des Blattschutzes und Formeländerungen in der Tabelle kein Ereignis aus. So wird die Zelle nicht automatisch aktualisiert, sondern erst nach Neuberechnung mit Taste F9.
Ich würde den Hinweis in Deinen vorhanden Vba-Code direkt in die jeweilige Zelle B2 schreiben. Dazu müßtest Du aber den Code posten, damit ich ihn vervollständigen kann.
Gruß von luschi
aus klein-Paris
Anzeige
AW: "Wenn Blattschutz dann"....@Luschi
14.11.2005 11:18:29
Fabio
Hallo Luschi,
das ist der Code (aus dem Forum) und er funktioniert auch (wenn auch mit dem nachteil, das ich das PW im Code hinterlegen muss)

Sub YesProtect()
Dim wks As Worksheet
For Each wks In Worksheets
wks.Protect "test1"
Next wks
End Sub


Sub NoProtect()
Dim wks As Worksheet
For Each wks In Worksheets
wks.Unprotect "test1"
Next wks
End Sub

AW: "Wenn Blattschutz dann"....@Luschi
14.11.2005 12:00:34
Luschi
Hallo Fabio,
hier der angepaßte Code:
Sub YesProtect()
Dim wks As Worksheet
For Each wks In ThisWorkbooks.Worksheets
'Prüfen, ob Blattschutz eventuell doch gesetzt!!!
If wks.ProtectContents Then
wks.Unprotect "test1"
End If
wks.Range("B2").Value = "Blattschutz gesetzt"
wks.Protect "test1"
Next wks
End Sub
Sub NoProtect()
Dim wks As Worksheet
For Each wks In ThisWorkbooks.Worksheets
'Prüfen, ob Blattschutz gesetzt!!!
If wks.ProtectContents Then
wks.Unprotect "test1"
wks.Range("B2").Value = "kein Blattschutz"
End If
Next wks
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
Laufzeitfehler....
14.11.2005 12:10:11
Fabio
Hei Luschi - Laufzeitfehler....
und er merkt mir dann diese Zeile an :
"For Each wks In ThisWorkbooks.Worksheets"
"Objekt fehlt"
Fabio
N.S. Und mal Danke an der Stelle!
AW: Laufzeitfehler....
14.11.2005 12:39:44
Luschi
Sorry Fabio,
leider ein "s" zuviel, statt:
For Each wks In ThisWorkbooks.Worksheets
nun
For Each wks In ThisWorkbook.Worksheets
Und das in beiden Prozeduren.
Gruß von Luschi
aus klein-Paris
Funktioniert+ Vielen Dank !
15.11.2005 08:57:21
Fabio
Vielen Dank
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge