Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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
mehrere Zellen in Range
WolfgangN
Hallo,
ich habe eine Tabelle, in der beschriebene Zellen geschützt werden. Jetzt wollte ich noch einige leere Zellen in diesen Bereich ebenfalls schützen. Dazu habe ich folgenden Code, der auch klappt:
Sheets("Werte").Range("C130").Locked = True
Sheets("Werte").Range("C976").Locked = True
Sheets("Werte").Range("D1125").Locked = True
Sheets("Werte").Range("E2008").Locked = True
Wenn ich dies zusammenfassen möchte erscheint Laufzeitfehler 1004, Anwendungs-oder objektdef. Fehler
Sheets("Werte").Range("C130,C976,D1125,E2008").Locked = True
Was ist an dieser Zeile falsch, muß ich für jede Zelle eine Codezeile schreiben?
Verbundene Zellen gibt es keine.
Bitte um Hilfe, vielen Dank
Wolfgang
Hier der gesamte Code:
Option Explicit
Dim zelle As Range
Dim Bereich As Range
Dim letzZeilA As Double

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Werte").Activate
letzZeilA = Cells(65536, 1).End(xlUp).Row
'Wenn Inhalt der Zelle beschrieben ist, wird Zelle vor dem Speichern geschützt,
Set Bereich = Sheets("Werte").Range("$B$9:$E$" & letzZeilA)
For Each zelle In Bereich
If zelle  Empty Then
zelle.Locked = True
Else
zelle.Locked = False
End If
Next zelle
Set Bereich = Nothing
'leere Zellen werden gesperrt,
Sheets("Werte").Range("C130").Locked = True
Sheets("Werte").Range("C976").Locked = True
Sheets("Werte").Range("D1125").Locked = True
Sheets("Werte").Range("E2008").Locked = True
'in der folgenden Zeile erscheint Laufzeitfehler 1004, Anwendungs-oder objektdef. Fehler
'Sheets("Werte").Range("C130,C976,D1125,E2008").Locked = True
End Sub

Private Sub Workbook_Open()
Worksheets("Werte").Protect userinterfaceonly:=True, Contents:=True, AllowFormattingCells:=True, _
DrawingObjects:=False, Password:="123"
Worksheets("Werte").EnableSelection = xlUnlockedCells
Worksheets("Werte").Select
End Sub
Hier die Testdatei, Passwort:123
https://www.herber.de/bbs/user/76887.xls

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

Betreff
Benutzer
Anzeige
benutze Union()
06.10.2011 18:12:14
Matthias
Hallo
Hab mir die Datei nicht angeschaut, sollte aber in etwa so klappen:

Sub MyUnion()
Dim MyBereich As Range
With Worksheets("Werte")
.Unprotect "123"
Set MyBereich = Union(.Range("C130"), .Range("C976"), .Range("D1125"), .Range("E2008"))
MyBereich.Locked = True
.Protect "123"
End With
End Sub
Gruß Matthias
Nachfrage
06.10.2011 18:35:31
WolfgangN
Hallo Matthias,
vielen Dank, klappt gut.
Habe aber noch eine Frage. Muß ich noch
Set MyBereich = Nothing
einfügen?
Gruß
Wolfgang
Ja, so wäre es jedenfalls konsequenter ... oT
06.10.2011 18:41:45
Matthias
Danke
06.10.2011 18:52:15
WolfgangN
Hallo Matthias,
werde ich so machen, nochmals Danke und Gruß
Wolfgang
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige