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

Forumthread: Schleife - Zellen sperren

Schleife - Zellen sperren
12.05.2015 18:40:49
Marco
Hi, ich möchte folgendes erreichen:
Userbild
Ich habe von Zelle B6 bis I6 eine Zeile (gelbe Zellen auf dem Screenshot), wo ich jeweils immer einen Namen eintragen kann. In den jeweiligen Spalten, also B8 bis B15, C8 bis C15 usw. bis I8 bis I15 können Informationen jeweils zu dem Namen eingetragen werden.
Die Zellen mit den Informationen (B8-B15 etc.) sollen solange deaktiviert bleiben, bis zuvor oben ein Name eingetragen wurde.
Hierzu habe ich folgenden Code, der das auch soweit macht wie ich will.
ActiveSheet.Unprotect
If IsEmpty(Range("B6")) = True Then
Range("B8:B15").Locked = True
Range("B8:B15").Interior.ColorIndex = 2
Else
Range("B8:B15").Locked = False
Range("B8:B15").Interior.ColorIndex = 6
End If
ActiveSheet.Protect
Jetzt soll eine Schleife die jeweiligen Werte selbst setzen: also B6, C6 usw und B8:B15, C8:C15 usw.
Ich sitze jetzt schon seit geraumer Zeit dran, aber es will nicht :(

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife - Zellen sperren
12.05.2015 20:25:01
Marco
Ich hab es nunmehr irgendwie geschafft. Nur frag ich mich, ob der Code so optimal ist
Dim i, ii As Integer
Dim strNamen(7, 2) As String
strNamen(0, 0) = "B6"
strNamen(0, 1) = "B8:B15"
strNamen(1, 0) = "C6"
strNamen(1, 1) = "C8:C15"
strNamen(2, 0) = "D6"
strNamen(2, 1) = "D8:D15"
strNamen(3, 0) = "E6"
strNamen(3, 1) = "E8:E15"
strNamen(4, 0) = "F6"
strNamen(4, 1) = "F8:F15"
strNamen(5, 0) = "G6"
strNamen(5, 1) = "G8:G15"
strNamen(6, 0) = "H6"
strNamen(6, 1) = "H8:H15"
strNamen(7, 0) = "I6"
strNamen(7, 1) = "I8:I15"
'MsgBox strNamen(0, 0) & "-" & strNamen(0, 1)
For i = 0 To 7
For ii = 0 To 1
'MsgBox strNamen(i, ii)
If IsEmpty(Range(strNamen(i, 0))) = True Then
Range(strNamen(i, 1)).Locked = True
Range(strNamen(i, 1)).Interior.ColorIndex = 2
Application.DisplayAlerts = False
Else
Range(strNamen(i, 1)).Locked = False
Range(strNamen(i, 1)).Interior.ColorIndex = 6
End If
Next
Next

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige