Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
248to252
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
248to252
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

active cursor zelle farbe?

active cursor zelle farbe?
25.04.2003 21:51:58
peter
kann man die aktive zelle (cursor)der besseren übersicht halber farblich hinterlegen?
schon mal danke
PIT

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: active cursor zelle farbe?
25.04.2003 21:59:20
ChrisL
Hallo Pit

Soll es nicht besser die ganze Zeile sein, da die aktive Zelle ja bereits hervorgehoben ist. Schau mal in die Recherche/Archiv.

z.B.
https://www.herber.de/forum/archiv/164to168/t164803.htm
https://www.herber.de/forum/archiv/172to176/t173297.htm
https://www.herber.de/forum/archiv/144to148/t145059.htm
etc.

Gruss
Chris

Re: active cursor zelle farbe?
25.04.2003 22:01:44
Forum
Hallo Peter


' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************

Option Explicit
' erstell von Hajo.Ziplies@web.de 14.12.02
' der Code ist nur für eine Zelle vorgesehen
' sollten mehere Zellen markiert werden geht die Farbformatierung verloren
' Farbformatierungen während der Selektion bleiben erhalten, außer rot
' Abschalten durch Doppelklick
Dim Aktion As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)
' nach Hinweis von Peter Hasserodt Vergleich eingefügt
If Aktion = True Then Exit Sub
If TypeName(ActiveSheet) = "Worksheet" Then
With ActiveSheet
' .Unprotect "Test"
If OldRange <> "" Then .Range(OldRange).Interior.ColorIndex = OldColorIndex
' .Protect "Test"
End With
End If
End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)
' falls Farbe beim Druck wieder zurückgestellt werden soll
' nach Druck ist die aktuelle Zelle nicht markiert
' nach Hinweis von Peter Hasserodt Vergleich eingefügt
If Aktion = True Then Exit Sub
If TypeName(ActiveSheet) = "Worksheet" Then
With ActiveSheet
' .Unprotect "Test"
If OldRange <> "" Then .Range(OldRange).Interior.ColorIndex = OldColorIndex
' .Protect "Test"
End With
End If
End Sub

Private Sub Workbook_Open()
' nach Hinweis von Peter Hasserodt Vergleich eingefügt
If TypeName(ActiveSheet) = "Worksheet" Then
OldRange = ActiveCell.Address
Register = ActiveSheet.Name
OldColorIndex = ActiveCell.Interior.ColorIndex
With ActiveSheet
' .Unprotect "Test"
ActiveCell.Interior.ColorIndex = 3
' .Protect "Test"
End With
End If
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
' nach Hinweis von Peter Hasserodt Vergleich eingefügt
Aktion = False
If TypeName(ActiveSheet) = "Worksheet" Then
OldRange = ActiveCell.Address
OldColorIndex = ActiveCell.Interior.ColorIndex
With ActiveSheet
' .Unprotect "Test"
ActiveCell.Interior.ColorIndex = 3
' .Protect "Test"
End With
Register = ActiveSheet.Name
End If
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Aktion = Not Aktion
If Aktion = True Then
If TypeName(ActiveSheet) = "Worksheet" Then
With Worksheets(Register)
' .Unprotect "Test"
If OldRange <> "" Then .Range(OldRange).Interior.ColorIndex = OldColorIndex
' .Protect "Test"
End With
End If
Else
If TypeName(ActiveSheet) = "Worksheet" Then
With ActiveSheet
' .Unprotect "Test"
' Beim 1. Aufruf ist OldRange noch undefiniert
If OldRange = "" Then
OldRange = Target.Address
OldColorIndex = Target.Interior.ColorIndex
' Setze Hintergrundfarbe der aktiven Selection auf Rot
Target.Interior.ColorIndex = 3
Else
' Setze alten Range auf alte Farbe
If Range(OldRange).Interior.ColorIndex = 3 Then
Range(OldRange).Interior.ColorIndex = OldColorIndex
End If
OldColorIndex = Target.Interior.ColorIndex
' Merke mir aktuellen Adresse für nächsten Aufruf
OldRange = Target.Address
' Setze Hintergrundfarbe der aktiven Selection auf Rot
Target.Interior.ColorIndex = 3
End If
' .Protect "Test"
End With
End If
End If
Cancel = True
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
' nach Hinweis von Peter Hasserodt Vergleich eingefügt
If Aktion = True Then Exit Sub
If TypeName(ActiveSheet) = "Worksheet" Then
With Worksheets(Register)
' .Unprotect "Test"
If OldRange <> "" Then .Range(OldRange).Interior.ColorIndex = OldColorIndex
' .Protect "Test"
End With
End If
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' nach Hinweis von Peter Hasserodt Vergleich eingefügt
If Aktion = True Then Exit Sub
If TypeName(ActiveSheet) = "Worksheet" Then
With ActiveSheet
' .Unprotect "Test"
' Beim 1. Aufruf ist OldRange noch undefiniert
If OldRange = "" Then
OldRange = Target.Address
OldColorIndex = Target.Interior.ColorIndex
' Setze Hintergrundfarbe der aktiven Selection auf Rot
Target.Interior.ColorIndex = 3
Else
' Setze alten Range auf alte Farbe
If Range(OldRange).Interior.ColorIndex = 3 Then
Range(OldRange).Interior.ColorIndex = OldColorIndex
End If
OldColorIndex = Target.Interior.ColorIndex
' Merke mir aktuellen Adresse für nächsten Aufruf
OldRange = Target.Address
' Setze Hintergrundfarbe der aktiven Selection auf Rot
Target.Interior.ColorIndex = 3
End If
' .Protect "Test"
End With
End If
End Sub


' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************

Option Explicit
' erstell von Hajo.Ziplies@web.de
Public OldColorIndex As Variant
Public OldRange As String
Public Register As String

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Anzeige
Re: active cursor zelle farbe?
25.04.2003 22:04:36
peter
ahoi chris
brauche nur die aktive zelle,ist für schwiegerpapi,der ist nicht mehr so schnell mit den augen :-)
Re: active cursor zelle farbe?
25.04.2003 22:10:13
ChrisL
Hallo Pit

Fair enough :-)

Hajo hat die Lösung dazu bereits gebracht. Noch ein kleiner Tipp betr. Schwiegerpapi, mit Zoom die Tabelle auf optimale Grösse anpassen und alle unnötigen Zeilen und Spalten ausblenden, um unnötiges Scrollen zu verhindern ;-)

Gruss
Chris

Re: active cursor zelle farbe?
26.04.2003 09:15:23
Forum
Hallo Chris

ich glaube fast meine Lösung war zu Umfangreich. Aber bei der farblichen Markierung von Zellen sind mehrere Punkte zu beachten.
1. Die Zelle soll bei verlassen wieder die alte Farbe bekommen.
2. das gleiche beim schließen der Datei
3. dies trifft auch für das Wechseln der Tabelle zu
4. beim öffnen, soll natürlich auch die aktuelle Zelle markiert werden
dies sind nur einige Punkte.

Diese Punkte werden von vielen übersehen und die Leute sind dann vom Umfang des Codes überrascht.

Das dann keine Rückmeldung mehr kommt, kann ich nicht verstehen.

Aber ich beruhige mich damit das der Code ja nicht speziell für den Frager erstellt wurde.

Dieser Code ist über Monate entstanden und ist Bestandteil meines Archives.

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Anzeige
Re: active cursor zelle farbe?
26.04.2003 11:31:10
ChrisL
Guten Morgen Hajo

Deine Hinweise sind berechtigt und soweit ich sehen kann ist dein Code, wie wir von Dir nichts anderes gewohnt sind :-), perfekt.

Persönlich bevorzuge ich die 80-20 Lösung oder manchmal auch 50-5 Lösung ;-). Wenn man wie du in diesem Beispiel für die 100% Lösung geht, wird der Code zwangsläufig ziemlich Umfangreich, was den Frager aber nicht vom Antworten abhalten sollte. Jedoch war es Gestern auch schon spät und vielleicht bemüht sich Pit ja noch Heute oder in den kommenden Tagen um eine Rückmeldung.

Jedenfalls schätze ich deine Hinweise, wodurch ich (und alle anderen interessierten Leser) täglich etwas dazu lernen kann.

In diesem Sinne, mach weiter so und ein schönes Wochenende

Gruss
Chris

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige