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

Gesamte Zeile der activen Zelle farbig markieren.

Gesamte Zeile der activen Zelle farbig markieren.
12.03.2019 17:53:11
David@rittgardt.de
Hallo,
mit diesem Code färbe ich die ganze Zeile einer aktiven Zelle:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = 0
With Target
.EntireRow.Interior.Color = vbCyan
End With
Application.ScreenUpdating = True
End Sub
Hierdurch ändert sich allerdings kontinuierlich die aktuelle farbliche formatierung der Zellen.
Ich hatte schon einmal einen Code, der die ursprüngliche formatierung wiederherstellt.
Kann mir da jemand auf die Sprünge helfen?
Vielen Dank.
David

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gesamte Zeile der activen Zelle farbig markieren.
12.03.2019 17:57:39
David
Sorry in dem Moment habe ich es gefunden :)
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Const cnNUMCOLS As Long = 256
Const cnHIGHLIGHTCOLOR As Long = 36  'default lt. yellow
Static rOld As Range
Static nColorIndices(1 To cnNUMCOLS) As Long
Dim i As Long
Application.ScreenUpdating = False
If Not rOld Is Nothing Then 'Restore color indices
With rOld.Cells
If .Row = ActiveCell.Row Then Exit Sub 'same row, don't restore
For i = 1 To cnNUMCOLS
If nColorIndices(i) = xlNone Then
.Item(i).Interior.ColorIndex = xlNone
Else
.Item(i).Interior.Color = nColorIndices(i)
End If
Next i
End With
End If
Set rOld = Cells(ActiveCell.Row, 1).Resize(1, cnNUMCOLS)
With rOld
For i = 1 To cnNUMCOLS
nColorIndices(i) = .Item(i).Interior.Color
If .Item(i).Interior.ColorIndex = xlNone Then
nColorIndices(i) = xlNone
Else
nColorIndices(i) = .Item(i).Interior.Color
End If
Next i
.Interior.ColorIndex = cnHIGHLIGHTCOLOR
End With
Application.ScreenUpdating = True
End Sub
Quelle: https://www.mrexcel.com/forum/excel-questions/657614-highlight-entire-row-when-cell-selcted-without-losing-orginal-formats-color-orginal-row.html
Anzeige
AW: Gesamte Zeile der activen Zelle farbig markieren.
12.03.2019 18:40:15
Luschi
Hallo David,
dieser Code ist doch hirnrissig, denn er vergrößert den benutzten Bereich einer Tabelle sinnlos groß; Beispiel:
- leere Arbeitsmappe erstellen
- in Tabelle1!B2 einen Wert eintragen
- in Tabelle1!E5 einen Wert eintragen
- Ergebnis von Debug.Print Tabelle1.UsedRange.Address --» $B$2:$E$5
- den Schönheitscode ins Klassenmodul Tabelle1 kopieren
- Zelle B5 mit Maus markieren
- neues Ergebnis: --» $A$2:$IV$5
Also total verschwenderisch und der User wundert sich, warum die Excel-Datei immer größer wird, obwohl doch nur per Maus Markierungen gemacht wurden.
Gruß von Luschi
aus klein-Paris
Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige