Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Inhaltsverzeichnis

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 :(

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige