Zelle einfärben - aber wie richtig ?
Hallo an alle,
ich hoffe irgendwer hat eine idee, was ich verbessern kann
Ich habe in "Tabelle1" in den Bereichen
("D19:P25"); ("D32:P38") und ("D45:P51") Werte zu erfassen
Damit ich mich etwas besser auf der Seite orientieren kann, soll die jeweilige aktive Zelle statt weiß in hellgrau unterlegt sein.
Das klappt gut mit diesem Code
Leider bekomme ich imme irgendeine Zelle in Grau eingefärbt, wenn ich das Blatt öffne.
Und zwar genau jenes, an dem ich das Blatt verlassen habe.
Wie kann ich beim Blattaufruf die oben genannten Bereiche auf weiß setzen.
Ich habe es mit dem Makrorekorder versucht, bekomme es aber nicht zum laufen.
Punkt 2 meines Anliegens
Alle Zellen, die oben nicht genannt werden, sollen gesperrt werden ausser ("D5") und ("P5")
Für jede Idee dankbar
Lieben Gruß an Euch
ich hoffe irgendwer hat eine idee, was ich verbessern kann
Ich habe in "Tabelle1" in den Bereichen
("D19:P25"); ("D32:P38") und ("D45:P51") Werte zu erfassen
Damit ich mich etwas besser auf der Seite orientieren kann, soll die jeweilige aktive Zelle statt weiß in hellgrau unterlegt sein.
Das klappt gut mit diesem Code
Private Sub worksheet_selectionchange(ByVal Target As Excel.Range)
On Error Resume Next
Lastcell.Interior.ColorIndex = farbe
farbe = Target.Interior.ColorIndex
Target.Interior.ColorIndex = 15 '(grau)
Set Lastcell = Target
End Sub
Leider bekomme ich imme irgendeine Zelle in Grau eingefärbt, wenn ich das Blatt öffne.
Und zwar genau jenes, an dem ich das Blatt verlassen habe.
Wie kann ich beim Blattaufruf die oben genannten Bereiche auf weiß setzen.
Ich habe es mit dem Makrorekorder versucht, bekomme es aber nicht zum laufen.
Punkt 2 meines Anliegens
Alle Zellen, die oben nicht genannt werden, sollen gesperrt werden ausser ("D5") und ("P5")
Für jede Idee dankbar
Lieben Gruß an Euch
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 263721
Url: https://administrator.de/forum/zelle-einfaerben-aber-wie-richtig-263721.html
Ausgedruckt am: 18.04.2025 um 01:04 Uhr
3 Kommentare
Neuester Kommentar
Guten Morgen!
Wenn der Bereich fix ist und nicht variabel, warum färbst du die Zellen nicht mittels Hintergrundfarbe?
Formatierungen aufgrund des Zellinhaltes machst du am besten mit der "bedingten Formatierung".
Zu 2:
Schau dir im Kontextmenü einer Zelle (Zelle formatieren ... - Reiter Schutz) die Optionen an. Wenn Gesperrt aktiviert ist, ist dieses Zelle bei aktiven Blattschutz gesperrt, wenn nicht, kann sie bearbeitet werden.
Standardmäßig sind alle Zellen als gesperrt markiert.
Blattschutz kann im Menü "Überprüfen" - Blatt schützen bzw. Arbeitsmappe schützen aktiviert / deaktiviert werden. (bei Excel 2007)
Gruß
Eisbein
Wenn der Bereich fix ist und nicht variabel, warum färbst du die Zellen nicht mittels Hintergrundfarbe?
Formatierungen aufgrund des Zellinhaltes machst du am besten mit der "bedingten Formatierung".
Zu 2:
Schau dir im Kontextmenü einer Zelle (Zelle formatieren ... - Reiter Schutz) die Optionen an. Wenn Gesperrt aktiviert ist, ist dieses Zelle bei aktiven Blattschutz gesperrt, wenn nicht, kann sie bearbeitet werden.
Standardmäßig sind alle Zellen als gesperrt markiert.
Blattschutz kann im Menü "Überprüfen" - Blatt schützen bzw. Arbeitsmappe schützen aktiviert / deaktiviert werden. (bei Excel 2007)
Gruß
Eisbein
Hallo
Könntest du zB mit einem Auto_start lösen, indem die aktive Zelle beim starten der Tabelle mit Farbe "automatisch" hinterlegt wird
Folgenden Code in ein allgemeines Modul
Per Default sind alle Zellen "gesperrt". Merkt man aber normalerweise nicht, wenn der Blattschutz nicht aktiv ist
Mit folgendem Code werden die gewünschten Zellen "entsperrt", und dann der Blattschutz aktiviert
Gruss Urs
Leider bekomme ich imme irgendeine Zelle in Grau eingefärbt, wenn ich das Blatt öffne.
Und zwar genau jenes, an dem ich das Blatt verlassen habe.
Wie kann ich beim Blattaufruf die oben genannten Bereiche auf weiß setzen.
Und zwar genau jenes, an dem ich das Blatt verlassen habe.
Wie kann ich beim Blattaufruf die oben genannten Bereiche auf weiß setzen.
Könntest du zB mit einem Auto_start lösen, indem die aktive Zelle beim starten der Tabelle mit Farbe "automatisch" hinterlegt wird
Folgenden Code in ein allgemeines Modul
Sub auto_open()
'Blatt entsperren
ActiveSheet.Unprotect
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Punkt 2 meines Anliegens
Alle Zellen, die oben nicht genannt werden, sollen gesperrt werden ausser ("D5") und ("P5")
Alle Zellen, die oben nicht genannt werden, sollen gesperrt werden ausser ("D5") und ("P5")
Per Default sind alle Zellen "gesperrt". Merkt man aber normalerweise nicht, wenn der Blattschutz nicht aktiv ist
Mit folgendem Code werden die gewünschten Zellen "entsperrt", und dann der Blattschutz aktiviert
Sub sperren()
Range("D5,P5,D19:P25,D32:P38,D45:P51").Select
Selection.Locked = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Gruss Urs

Hallo FAAB58!
Meierjo hat ja schon Wege aufgezeigt, wie man das umsetzen kann, von daher alternativ noch folgende Lösung:
Diesen Code (Zellen sperren) in 'DieseArbeitsmappe' einfügen
Diesen Code (Hintergrundfarbe ändern) in die Tabelle einfügen
Grüße Dieter
Meierjo hat ja schon Wege aufgezeigt, wie man das umsetzen kann, von daher alternativ noch folgende Lösung:
Diesen Code (Zellen sperren) in 'DieseArbeitsmappe' einfügen
'Hintergrundfarbe der aktiven Zelle auf Standard-Farbe zurücksetzen
'Sheet sperren (ohne Passwort) und nur entsperrte Zellen zum selektieren freigeben
Private Sub Workbook_Open()
With ActiveSheet
Application.EnableEvents = False
.Unprotect
.Range("D5,P5,D19:P25,D32:P38,D45:P51").Locked = False
.Protect "", True, True, True, True
.EnableSelection = xlUnlockedCells
Application.EnableEvents = True
End With
ActiveCell.Interior.ColorIndex = xlNone
End Sub
Diesen Code (Hintergrundfarbe ändern) in die Tabelle einfügen
Private LastCell As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not LastCell Is Nothing Then
LastCell.Interior.ColorIndex = xlNone
End If
Target.Interior.ColorIndex = 15 '(grau)
Set LastCell = Target
End Sub
Grüße Dieter