Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Hilfe zum Blattschutz/Excel





Frage

Hallo zusammen, ich habe folgendes Problem: Ich muss eine Excel-Tabelle so schützen, dass keine Zeilen eingefügt werden , aber die Zelleninhalte farblich markiert werden können (Hintergrund oder Schrift ist egal). Wenn ich nun den normalen Blattschutz verwende, und entsprechenden Zellen vorher freigeben, dass sie mit Werten gefüllt werden können, ist es jedoch nicht möglich, diese Werte farbig zu hinterlegen. Gibt es da eine Möglichkeit?

Antwort 1 von coros

Moin Hero,

die Möglichkeit, Zellen trotz Blattschutz zu formatieren gibt es leider erst seit Excel2002. Ab der Version kann man vor dem Blattschutz mehrere Einstellungen vornehmen, u.a. auch, dass Zellen weiterhin formatiert werden können trotz Blattschutz. Für ältere Excelversionen (Excel97 & 2000) muss man auf VBA zurückgreifen. Nachfolgendes Makro kopiere in ein StandardModul und weise es einer Befehlsschaltfläche zu.

Sub Formatierung_trotz_Blattschutz()
ActiveSheet.Unprotect "Hier das Blattschutzpasswort eintragen"
ActiveCell.Interior.ColorIndex = 3
ActiveSheet.Protect "Hier das Blattschutzpasswort eintragen"
End Sub


Durch das obige Makro wird beim Ausführen des Makros die Hintergrundfarbe der gerade markierten aktiven Zelle in die Farbe rot geändert.

Du musst in dem Makro noch Dein aktives Passwort eintragen. Dazu lösche in den Zeilen

ActiveSheet.Unprotect "Hier das Blattschutzpasswort eintragen"

und

ActiveSheet.Protect "Hier das Blattschutzpasswort eintragen"

den Text "Hier das Blattschutzpasswort eintragen" und trage dort Dein Passwort zwischen die beiden Anführungsstriche ("") ein. Wenn Du anstelle von rot eine andere Farbe haben möchtest, dann muss in der Zeile

ActiveCell.Interior.ColorIndex = 3

die Zahl 3 gegen eine andere Farbindexzahl getauscht werden. Zum Ermitteln der Farbindexzahlen kopiere nachfolgendes Makro in ein StandardModul und starte es in einem neu eingefügten Tabellenblatt durch eine Befehlsschaltfläche.

Sub Farbindexzahl_ermitteln()
Dim Farbindexzahl As Byte
For Farbindexzahl = 1 To 56
If Farbindexzahl < 29 Then
Cells(Farbindexzahl, 1) = Farbindexzahl
Cells(Farbindexzahl, 3) = Farbindexzahl
Cells(Farbindexzahl, 4) = Farbindexzahl
Cells(Farbindexzahl, 2).Interior.ColorIndex = Farbindexzahl
Cells(Farbindexzahl, 3).Font.ColorIndex = Farbindexzahl
Cells(Farbindexzahl, 4).Font.ColorIndex = Farbindexzahl
Else
Cells(Farbindexzahl - 28, 6) = Farbindexzahl
Cells(Farbindexzahl - 28, 8) = Farbindexzahl
Cells(Farbindexzahl - 28, 9) = Farbindexzahl
Cells(Farbindexzahl - 28, 7).Interior.ColorIndex = Farbindexzahl
Cells(Farbindexzahl - 28, 8).Font.ColorIndex = Farbindexzahl
Cells(Farbindexzahl - 28, 9).Font.ColorIndex = Farbindexzahl
End If
Next
End Sub


Wenn Du nicht weißt, wie Du das Makro in Deine Datei bekommen sollst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann Anleitung zum VBA Projekt “Modul" nach. Dort gibt es eine bebilderte Anleitung, die Dir behilflich sein sollte.

Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Hero

Hallo coros,

vielen Dank vorab. Ich schau trotzdem mal auf deiner HP vorbei. Da kann ich bestimmt noch einiges lernen.

bye,

Hero