Anzeige
Archiv - Navigation
1180to1184
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

Ecel Spalte über VBA Sperren WENN

Ecel Spalte über VBA Sperren WENN
Marc
Hallo!
Ich habe einen Abwesenheitskalender für unser Büro in dem unsere "gute Seele" Urlaubs/Krankheits und Gleittage eintragen kann. Jeder Monat ist ein eigener Excel-Reiter und die Tage stehen in den Spalten (A, B, C, usw...)
Tage (Spalten) die Feiertage/Wochende sind habe ich über SVerweis und bedingte Formatierung gelb/grau eingefärbt. Die unterschiedliche Färbung der Zellen mit Urlaub / Krankheit / Gleittag musste ich über VBA einrichten - Excel 2003 :-(
Eine Eingabe ist durch Blattschutz nur in den "Tages"-Zellen möglich, nun aber leider auch bei den Wochenenden/Feiertagen. Um nun das Ausfüllen "Depperl"-fest machen würde ich die Wochenend- und Feiertagspalten trotz der Färbung gerne mittels VBA sperren lassen.
(Die Wochenenden/Feiertag für 2010/2011/usw... berechnen sich über Formel automatisch und verschieben sich verständlicherweise im nächsten Jahr weswegen ich Zellen nicht fest sperren kann)
Über Gültigkeit geht es leider auch nicht da ich diese bereits für meine DropDownliste in den Tageszellen verwendet habe.
Blablabla - Jetzt die Frage. Wie schaffe ich es eine komplette Spalte zu speren wenn in der Titelzeile Sa bzw. So steht ODER das Feiertagsfeld NICHTLEER ist?
https://www.herber.de/bbs/user/71816.jpg
Aktuell doktore ich an dieser Formelvorlage rum. Aber meine VBA Kenntnisse belaufen sich auf
ein "Marc! Setzen! Note -4!" :-(
Hoffentlich kann mir einer von eich helfen. Schon mal vielen Dank!!
Bekomme

Private Sub Worksheet_Activate()
With ActiveSheet
.Unprotect
.Range("B1:b178").Locked = .Range("A1").Value = ""
.Protect
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Target.Parent.Unprotect
Range("B1").Locked = Target.Value = ""
Target.Parent.Protect
End If
End Sub
'In diesem Beispiel wird die Zelle B1 entsperrt, wenn in Zelle A1 irgendwas
'steht und gesperrt, wenn Zelle A1 leer ist.
'Die Zellen mußt Du entsprechend ändern.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ecel Spalte über VBA Sperren WENN
08.10.2010 20:01:46
Uduuh
Hallo,
Motto
for i=4 to 34
columns(i).cells.locked=cells(i,6).text="Sa" or cells(i,6).text="So" or cells(i,7)""
next i
Gruß aus’m Pott
Udo

AW: Ecel Spalte über VBA Sperren WENN
11.10.2010 16:23:33
Marc
Hallo Udo,
vielen danke für deine Antwort. Vom Syntax ist das genau was ich wollte aber ich bekomme die Formel einfach nicht zum Laufen.
Da nicht jeder Feiertag auch ein freier Tag ist habe ich mir mit Hilfe von Hilfszeilen (siehe Anhang) ein Extraspur gelegt.
Nun müsste dieser damische VBA Code eigentlich nur noch sagen (Bsp.).
Sperre Spalte D wenn in Zelle D5 ein X steht usw...
Oder wäre es besser den umgekehrten Weg zu gehen? D.h. Sperre alles und gebe z.B. Spaltenbereich G11:G15 frei wenn kein X in G5 steht.
https://www.herber.de/bbs/user/71856.jpg
Oder ich hänge ich besser einen Wendy-Pferdekalender an die Wand und lege ein paar Textmarker dazu :-D
Gruß, Marc
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige