Versuche verzweifelt diesen Code so umzuschreiben, daß er mir nicht nur eine Zelle sondern die ganze Zeile markiert, ich aber wie mit diesem Code auch Änderungen z.B. die Farbe einer einzelnen Zelle ändern vornehmen kann. Desweiteren sollte die Zeile nicht grau sondern nur mit Muster o.Ä. sein, damit ich noch die farbigen Zellen der markierten Zeile erkennen kann.
Ganz schön kompliziert, bin gespannt ob jemand dieses Problem knacken kann.
Folgender Code steht in " Diese Arbeitsmappe "
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If OldRange <> "" Then ActiveSheet.Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub
Private Sub Workbook_Open()
OldRange = ActiveCell.Address
Register = ActiveSheet.Name
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 15
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
OldRange = ActiveCell.Address
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 15
Register = ActiveSheet.Name
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If OldRange <> "" Then Worksheets(Register).Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' Beim 1. Aufruf ist OldRange noch undefiniert
If OldRange = "" Then
OldRange = Target.Address
OldColorIndex = Target.Interior.ColorIndex
' Setze Hintergrundfarbe der aktiven Selection auf Grau
Target.Interior.ColorIndex = 15
Else
' Setze alten Range auf alte Farbe
If Range(OldRange).Interior.ColorIndex = 15 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 Grau
Target.Interior.ColorIndex = 15
End If
End Sub
Im eingefügten Modul steht:
Option Explicit
Public OldColorIndex As Variant
Public OldRange As String
Public Register As String
Danke schon mal im Voraus.
Gruß Udo