Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen mit Inhalt automatisch beim Öffnen schützen

Zellen mit Inhalt automatisch beim Öffnen schützen
mlipu
Hallo,
ileider kenne ich mich mit VBA zu wenig aus, habe mir das Makro im Anhang zusammengebastelt aus verschiedene Forumeinträgen, es funktioniert zwar, aber am Anfang braucht die Datei sehr lange.
Ich möchte gerne, das beim Öffnen, alle Zellen mit Inhalt, in allen Tabellenblättern geschützt werden.
Hier ist der Code:

Private Sub Workbook_Open()
Zellen_sperren
End Sub

und
Public Zeitspanne As Variant
Sub Zellen_sperren()
Dim Bereich As Range
For Each Bereich In Sheets(1).UsedRange.Cells
If WorksheetFunction.CountA(Bereich) 0 Then
Sheets(1).Unprotect "PASSWORT"
Bereich.Locked = True
Sheets(1).Protect "PASSWORT"
End If
Next
For Each Bereich In Sheets(2).UsedRange.Cells
If WorksheetFunction.CountA(Bereich) 0 Then
Sheets(2).Unprotect "PASSWORT"
Bereich.Locked = True
Sheets(2).Protect "PASSWORT"
End If
Next
For Each Bereich In Sheets(3).UsedRange.Cells
If WorksheetFunction.CountA(Bereich) 0 Then
Sheets(3).Unprotect "PASSWORT"
Bereich.Locked = True
Sheets(3).Protect "PASSWORT"
End If
Next
End Sub
Hier ist auch der link zu der Testdatei von mir.
Ich hoffe mir kann jemand weiterhelfen und dass Ganze etwas vereinfachen, es geht darum, das die Datei am Anfang nicht so rumflimmert
Danke im Voraus,
Mark

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Application.Screenupdating = False/True
25.01.2011 18:19:55
Dieter(Drummer)
Hi Mark,
habe dir im Makro die Bildschirmaktualisierung mal aus- und dann wieder eingeschaltet. Nun müsste es schon schneller gehen.
Gruß
DieterDrummer
Hier deine Datei: https://www.herber.de/bbs/user/73227.xls
AW: Zellen mit Inhalt automatisch beim Öffnen schützen
25.01.2011 18:15:22
Josef

Hallo Mark,
sollte genügen.
Sub Zellen_sperren()
  Dim objWs As Worksheet
  Dim rngLock As Range
  
  On Error Resume Next
  
  For Each objWs In ThisWorkbook.Worksheets
    With objWs
      .Unprotect "PASSWORT"
      Set rngLock = .UsedRange.SpecialCells(xlCellTypeConstants)
      If Not rngLock Is Nothing Then rngLock.Locked = True
      Set rngLock = .UsedRange.SpecialCells(xlCellTypeFormulas)
      If Not rngLock Is Nothing Then rngLock.Locked = True
      .Protect "PASSWORT"
    End With
    Set rngLock = Nothing
  Next
  
  On Error GoTo 0
End Sub


Gruß Sepp

Anzeige
AW: Zellen mit Inhalt automatisch beim Öffnen schützen
26.01.2011 14:52:01
mlipu
Hallo Dieter und Josef,
vielen dank für die Hilfe, klappt jetzte wesentlich besser und ich kann die Datei fertigstellen,
Gruß,
Mark

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige