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

Locked-Eigenschaft bei verbundenen Zellen

Locked-Eigenschaft bei verbundenen Zellen
25.02.2004 13:28:31
Andreas Emmert
Hallo Forum,
folgende Problemstellung: In einer Datei sollen mittels Makro Eingabezellen mit der Locked-Eigenschaft "False" und andere Zellen mit "True" gekennzeichnet werden. Die Eingabezellen haben einen Rand und keine Hintergrundfarbe. Soweit so gut, das findet man auch alles in dieser Beispieldatei hier:
https://www.herber.de/bbs/user/3928.xls
Wobei ich allerdings ein Problem habe, ist die Locked-Eigenschaft einer verbundenen Zelle zuzuweisen. Verschmelzt man die Zellen B7 und C7 in "Tabelle1" zu einer verbundenen Zelle und lässt dann das Makro laufen, dann gibt es einen kleinen Fehler. Weiß hier jemand Rat?
Und eine zweite Frage hätte ich noch, wie kann ich abprüfen, ob ein Arbeitsblatt geschützt ist oder nicht? "ActiveSheet.Protected=True"gibt's ja nicht, aber irgendetwas ähnliches vielleicht?
Danke vorab schonmal!
Andreas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nur Antwort zu 2.)
25.02.2004 13:49:58
Boris
Hi Andreas,
nur zu 2.), da ich seltenst Dateien runterlade:
If ActiveSheet.ProtectContents Then MsgBox "Geschützt"
Grüße Boris
Dann gibt's hier den Quelltext für Boris ;-)
25.02.2004 14:04:07
Andreas
Danke Boris, hier also der Quelltext für dich ;-)
Das Problem tritt auf in der Zeile ".Locked = False" bzw. ".Locked=True", wenn man keine einzelne Zelle, sondern eine verbundene Zelle addressiert. Eigentlich müsste man diese dann ja mittels Range("Anfangszelle:Endzelle") ansprechen, dann ginge das mit der Locked-Eigenschaft, aber so wie ich mir das bisher gelöst hatte funzt es eben nicht.
Hast du eine bessere Idee hierzu?
Andreas
==========


Private Sub CommandButton1_Click()
Number = Application.ActiveWorkbook.Worksheets.Count
For currentsheet = 1 To Number
Worksheets(currentsheet).Select
For i = 1 To 7
For j = 1 To 4
With ActiveSheet.Cells(i, j)
If Not .Borders(xlEdgeLeft).ColorIndex = -4142 And _
Not .Borders(xlEdgeRight).ColorIndex = -4142 And _
Not .Borders(xlEdgeTop).ColorIndex = -4142 And _
Not .Borders(xlEdgeBottom).ColorIndex = -4142 And _
.Interior.ColorIndex = -4142 Then
.Locked = False
Else
.Locked = True
End If
End With
Next j
Next i
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next currentsheet
End Sub


Private Sub CommandButton2_Click()
Number = Application.ActiveWorkbook.Worksheets.Count
For currentsheet = 1 To Number
Worksheets(currentsheet).Select
ActiveSheet.Unprotect
Next currentsheet
End Sub

Anzeige
AW: "Liste"
25.02.2004 14:26:44
Galenzo
warum gehst du nicht den umgekehrten Weg:
alle Felder in einer "Liste" sperren/freigeben:
ActiveSheet.Range("A1, C3, D1:E4").locked=true
Sparst dir 'ne Menge Schleifen und IFs
mfg
AW: "Liste"
25.02.2004 14:30:12
Andreas
Ganz einfach, weil ich nicht weiß, welche Felder Eingabefelder sind und der Benutzer diese später selbst festlegen soll anhand der Formatierung.
Gruß
Andreas
MergeArea-Eiegenschaft
25.02.2004 14:27:10
Boris
Hi Andreas,
schau dir die in der Hilfe mal an.
Also so in der Art (ungetestet):
With ActiveSheet.Cells(i, j).MergeArea
Grüße Boris
AW: MergeArea-Eiegenschaft
25.02.2004 14:50:53
Andreas
Danke für die Anregung, Boris! MergeArea hilft tatsächlich weiter, habe meinen Quelltext angepasst und es läuft jetzt ...
Grüße
Andreas
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige