Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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

Farbige Zellen per VBA sperren

Farbige Zellen per VBA sperren
17.09.2020 18:07:57
Lara
Hallo Zusammen,
ich bin blutige VBA-Anfängerin und bräuchte bitte eure Hilfe bei der Zellfarbeabhängigen dynamischen Sperre von Zellen.
Also was will ich:
In einer Range ("A1:B10") gibt es graue und weiße Felder. Ich möchte nun, dass die weißen Felder ausgefüllt werden können, auch wenn auf dem Reiter ein Blattschutz liegt.
(Alternative sollen nur die grauen Zellen zum Schreiben gesperrt werden)
Aber: Es sind nicht immer die gleichen Zellen grau oder weiß - deshalb brauche ich die Dynamik, sonst könnte ich ja einzelne Zellen immer schützen/nicht schützen.
Ich habe nachstehenden Forumsbeitrag gefunden - bekomme ihn aber nicht adaptiert (ich sage ja: blutige Anfängerin ;) )
https://www.herber.de/forum/archiv/1512to1516/1513122_farbige_Zellen_Sperren_VBA.html#1513125
Ich bin wirklich dankbar für eine idiotensichere Hilfe.
Grüße,
Lara

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbige Zellen per VBA sperren
17.09.2020 18:50:35
Hajo_Zi
Hallo Lara,
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: Farbige Zellen per VBA sperren
17.09.2020 19:03:15
GerdL
Moin Lara!
Sub Unit()
Dim Zelle As Range
With ActiveSheet
.Unprotect  'Blattschutz aufheben
.Cells.Locked = True  'alle Zellen im Blatt sperren
For Each Zelle In .Range("A1:B10")
'Zellen mit einer Hintergrundfarbe sperren
Zelle.Locked = (Zelle.Interior.Color  -4142)
Next Zelle
.Protect 'Blattschutz setzen
End With
End Sub

Gruß Gerd
AW: Farbige Zellen per VBA sperren
18.09.2020 09:17:54
Lara
Hi Gerd,
vielen Dank für deine schnelle Antwort.
Leider läuft das Makro bei
Zelle.Locked = (Zelle.Interior.Color -4142)
auf Fehler.
Könnte das daran liegen, das sich die graue Zellfüllung zum Teil aus einer bedingten Formatierung zieht?
Grüße,
Lara
ps: sehe ich das richtig: ich muss das Blatt sperren, bevor ich das Makro ausführe, da das Makro mit Blattschutz aufheben beginnt?
Anzeige
AW: Farbige Zellen per VBA sperren
18.09.2020 09:30:23
Werner
Hallo,
dann werte nicht die Farbe der Zelle aus, sondern die Bedingung der bedingten Formatierung, nach der gefärbt wird.
Wann also (nach welcher Bedingung) wird den gefärbt? Was für eine Formel/Bedingung verwendest du in der bedingten Formatierung?
Und was heißt zum Teil?
Sind die Zellen im Bereich teilweise durch eine bedingte Formatierung und teilweise "händisch" gefärbt oder was?
Gruß Werner
AW: Farbige Zellen per VBA sperren
18.09.2020 09:52:19
Lara
Hallo Werner,
vielen Dank für deine Rückfragen:
Ja, kein Teil der Zellen ist händisch gefärbt, diese ändern sich auch nicht und könnte ich also dauerhaft sperren oder entsperren.
Der zweite Teil der Zellen ist bedingt gefärbt.
Die Bedingung lautet:
Wenn der Wert in Zelle A1,B1,C1 etc. kleiner oder gleich einem Wert aus einem Steuerungsblatt, dann werde grau. Alles was Grau ist, soll nicht mehr beschrieben werden können - also gesperrt sein.
Grüße,
Laura
Beispiel:
Spalte 1 Spalte 2
A1 = 1 B1 = 2
Auswahl im Steuerungsblatt: 1 dann nur Spalte 1 wird gegraut
Auswahl im Steuerungsblatt: 2 dann Spalte 1 und spalte 2 werden gegraut
Anzeige
AW: Farbige Zellen per VBA sperren
18.09.2020 11:10:21
GerdL
Moin Lara!
Sub Unit()
Dim Zelle As Range, Zaehler As Integer, Wert As Integer
Wert = CInt(Sheets("Steuerblattname").Range("A2"))  'Anpassen
With ActiveSheet
.Unprotect  'Blattschutz aufheben
.Cells.Locked = True  'alle Zellen im Blatt sperren
For Each Zelle In .Range("A1:D1")
Zaehler = Zaehler + 1
'Zellen nach Prüfung sperren
Zelle.Locked = (Zaehler 
Gruß Gerd
AW: Farbige Zellen per VBA sperren
18.09.2020 13:04:37
Lara
Hallo Gerd, lieben Dank für die zweite Antwort.
Das Marko hat mich ein gutes Stück weiter gebracht =)))
Aber leider auch eine Folgefrage generiert (Meine Arbeitsmappe hat sich in der Zwischenzeit weiterentwickelt):
besteht die Möglichkeit, dass wenn in Zelle A1, B1 etc. die Prüfung über den Zähler absolviert wird (die funktioniert super - danke dafür noch mal), dass dann die ganze Spalte A, bzw. A und B etc. gesperrt wird?
Lieben Dank für deine Unterstützung.
Grüße,
Laura
Anzeige
AW: Farbige Zellen per VBA sperren
18.09.2020 13:11:17
Lara
Hallo Gerd, lieben Dank für die zweite Antwort.
Das Marko hat mich ein gutes Stück weiter gebracht =)))
Aber leider auch eine Folgefrage generiert (Meine Arbeitsmappe hat sich in der Zwischenzeit weiterentwickelt):
besteht die Möglichkeit, dass wenn in Zelle A1, B1 etc. die Prüfung über den Zähler absolviert wird (die funktioniert super - danke dafür noch mal), dass dann die ganze Spalte A, bzw. A und B etc. gesperrt wird?
Lieben Dank für deine Unterstützung.
Grüße,
Lara
AW: Farbige Zellen per VBA sperren
18.09.2020 13:17:51
GerdL
Hallo Lara!
Zelle.EntireColumn.Locked = ...
AW: Farbige Zellen per VBA sperren
18.09.2020 15:20:45
Lara
Perfekt. Danke =)))))
Ich musste noch ein paar verbundene Zellen auflösen und dann hat es geklappt.
Ich werde ja jetzt noch irgendwo ein Passwort einbauen und ich bin happy.
Lieben Dank für dein Geduld,
Grüße,
Lara
Anzeige
AW: Farbige Zellen per VBA sperren
21.09.2020 14:21:43
Lara
Danke GerdL für deine Hilfe hier =)
Ich versuche gerade, dass die Spalten vor dem Sperren noch zu kopieren und als Wert wieder einzufügen.
Dank deiner Hilfe sieht das ganze mittlerweile so aus:

Dim Zelle As Range, Zaehler As Integer, Wert As Integer
Wert = CInt(Sheets("Steuerung").Range("D4")) 'Anpassen
With ActiveSheet
.Unprotect  'Blattschutz aufheben
.Cells.Locked = True  'alle Zellen im Blatt sperren
For Each Zelle In .Range("F5:Q5")
Zaehler = Zaehler + 1
'Zellen nach Prüfung sperren
Zelle.EntireColumn.Copy = (Zaehler 
Dieser Part hier läuft leider auf Fehler:
Zelle.EntireColumn.Copy = (Zaehler 

Kann man mein Problem überhaupt so lösen?
Vielen Dank.
Schöne Grüße
Lara
Anzeige
AW: Farbige Zellen per VBA sperren
21.09.2020 14:50:12
Lara
Danke GerdL für deine Hilfe hier =)
Ich versuche gerade, dass die Spalten vor dem Sperren noch zu kopieren und als Wert wieder einzufügen.
Dank deiner Hilfe sieht das ganze mittlerweile so aus:

Dim Zelle As Range, Zaehler As Integer, Wert As Integer
Wert = CInt(Sheets("Steuerung").Range("D4")) 'Anpassen
With ActiveSheet
.Unprotect  'Blattschutz aufheben
.Cells.Locked = True  'alle Zellen im Blatt sperren
For Each Zelle In .Range("F5:Q5")
Zaehler = Zaehler + 1
'Zellen nach Prüfung sperren
Zelle.EntireColumn.Copy = (Zaehler 
Dieser Part hier läuft leider auf Fehler:
Zelle.EntireColumn.Copy = (Zaehler 

Kann man mein Problem überhaupt so lösen?
Vielen Dank.
Schöne Grüße
Lara
Anzeige
AW: Farbige Zellen per VBA sperren
21.09.2020 21:20:27
GerdL
Moin Lara,
en block kopieren oder nur die zu sperrende Spalten?
Sub Unit1()
Dim Zelle As Range, Zaehler As Integer, Wert As Integer
Wert = CInt(Sheets("Steuerung").Range("D4")) 'Anpassen
With ActiveSheet
.Unprotect  'Blattschutz aufheben
.Cells.Locked = True  'alle Zellen im Blatt sperren
.Range("F:Q").Copy
.Range("F:Q").PasteSpecial xlPasteValues
Application.CutCopyMode = False
For Each Zelle In .Range("F5:Q5")
Zaehler = Zaehler + 1
'Zellen nach Prüfung sperren
Zelle.EntireColumn.Locked = (Zaehler 

Gruß Gerd
AW: Farbige Zellen per VBA sperren
22.09.2020 09:00:39
Lara
Hallo Gerd,
es sollen nur die gesperrten Bereiche als Werte kopiert und eingefügt werden. Ich vermute, das ist der Sub Unit2() ?!
Danke dir!
Grüße
Laura
Anzeige
AW: Ja! o.r.T.
22.09.2020 09:39:44
GerdL
Gruß Gerd
AW: Farbige Zellen per VBA sperren
22.09.2020 10:23:59
Lara
Merci Merci. Hat mal wieder geklappt!
Wobei ich den Part
        .Range("F:Q").Copy
.Range("F:Q").PasteSpecial xlPasteValues
Vor dem For each... nicht benutzt habe, dann hatte er mir nämlich alles als Wert eingefügt und nicht nur die gesperrten Spalten.
Grüße
Lara

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige