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

Zellschutz

Zellschutz
15.11.2004 12:16:07
Michael
Hallöchen, habe folgendes Problem!
Ich habe in einem Tabellenblatt ein Kontrollkästchen gesetzt (Makro) und lasse beim hin und her klicken die Hintergrundfarben wechseln. Ich möchte das Arbeitsblatt schützen und nur bestimmte Zellen entsperren zur Bearbeitung. Solange der Blattschutz nicht aktiv ist, funktioniert es, sobald er aber aktiv ist, zeigt er mir den Laufzeitfehler 1004 an. ("Die ColorIndex-Eigenschaft des Interior-Objektes kann nicht festgelegt werden.
Wie kann ich diesen Fehler beheben?
Mein Makro

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Cells(25, 8).Interior.ColorIndex = 15
Else
Cells(25, 8).Interior.ColorIndex = 16
End If
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellschutz
Herbert
Hallo Michael
Wenn ich Dich richtig verstehhe, dann sollen die Zellen, die Du färbst, nicht bearbeitet werden können.

Private Sub CheckBox1_Click()
ActiveSheet.Unprotect
If CheckBox1.Value = True Then
Cells(25, 8).Interior.ColorIndex = 15
Else
Cells(25, 8).Interior.ColorIndex = 16
End If
ActiveSheet.Protect
End Sub

Gruß Herbert
AW: Zellschutz
15.11.2004 13:03:50
Michael
Hallo Herbert, doch, bei ersten klick wird die Zelle von dunkelgrau auf hellgrau gefärbt und dann soll ein Eintrag möglich sein
AW: Zellschutz
Herbert
Hallo Michael
Kannst Du mal ein Beispiel hochladen?
AW: Zellschutz
15.11.2004 13:17:24
Michael
Hallo Herbert, habe die Datei mal hochgeladen. Hoffe es nützt was und sie lässt sich öffnen. https://www.herber.de/bbs/user/13493.xls
Anzeige
Sorry
Herbert
Hallo Michael
Hab jetzt ne´ganze Zeit daran rumprogiert, aber ich krieg es auch nicht hin, wenn der Blattschtz aktiv ist.
Vielleicht weiß einer der "Profis" Rat.
Gruß Herbert
AW: Zellschutz
Sven

Private Sub CheckBox1_Click()
ActiveSheet.Unprotect
If CheckBox1.Value = True Then
Cells(25, 8).Interior.ColorIndex = 15
Else
Cells(25, 8).Interior.ColorIndex = 16
End If
ActiveSheet.Protect
End Sub

Den Schutz aufheben musst du natürlich für jede Checkbox einzeln machen.
mfg Sven
AW: Zellschutz
WernerB.
Hallo Michael,
wie gefällt Dir das (ungetestet)?

Private Sub CheckBox1_Click()
With ActiveSheet
.Unprotect Password:="xxx"
If CheckBox1.Value = True Then
.Cells(25, 8).Interior.ColorIndex = 15
Else
.Cells(25, 8).Interior.ColorIndex = 16
End If
.Protect Password:="xxx"
End With
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Zellschutz
15.11.2004 13:14:42
Michael
Hallo Werner, habe deine Variante eben ausprobiert, funktioniert aber nicht. Es erscheint End With erwartet und wenn ich es hinzufüge, wird ein "Anwendungs- oder objektdefinierter Fehler" angezeigt!
LG Michael
AW: Zellschutz
WernerB.
Hallo Michael,
nachdem ich mir Deine Musterdatei und Deine Problembeschreibung nochmals angesehen habe, gehe ich jetzt davon aus, dass Du bei gesetztem Häkchen die verbundenen Zellen "H25:L25" mit einem Inhalt versehen möchtest.
Wird das Häkchen herausgenommen, wird dieser Zellbereich wieder gesperrt und der Inhalt – bedingt durch die selbe Hintergrund- und Textfarbe – unsichtbar.
Dies kann durch das nachstehende Makro (diesmal getestet!) bewirkt werden.
Sollte ich Dich missverstanden haben, wäre ggf. eine Neuformulierung Deiner Problemstellung hilfreich.

Private Sub CheckBox1_Click()
ActiveSheet.Unprotect Password:="111"
With Range("H25:L25")
If CheckBox1.Value = True Then
.Locked = False
.Interior.ColorIndex = 15
Else
.Interior.ColorIndex = 16
.Locked = True
End If
End With
ActiveSheet.Protect Password:="111"
End Sub

Gruß
WernerB.
Anzeige
AW: Zellschutz
15.11.2004 16:59:46
Roland
Hallo Michael,
versuch das mal:

Private Sub CheckBox1_Click()
ActiveSheet.Unprotect ("111")
If CheckBox1.Value = True Then
Cells(25, 8).Interior.ColorIndex = 15
Else
Cells(25, 8).Interior.ColorIndex = 16
End If
ActiveSheet.Protect ("111")
End Sub

Gruß Roland

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige