Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeile farbig markieren bis bestimmte Spalte

Zeile farbig markieren bis bestimmte Spalte
18.06.2019 13:35:49
Roman
Hallo zusammen,
hoffe jemand kann mir weiterhelfen. Und zwar habe ich einen Code, um aktive Zeilen farbig zu markieren. Beim Schließen der Datei werden die Farben zurückgesetzt.
Nun möchte ich aber, dass egal welche Zelle ich in einer Zeile auswähle, die Markierung in der jeweiligen Zeile nur bis zur Spalte E gemacht wird, statt der ganzen Zeile. Ist das möglich?
Hier der Code zum Markieren:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static LastRow As Long
If LastRow = 0 Then LastRow = 1
' Letzte Markierung entfärben
Rows(LastRow).Interior.ColorIndex = xlNone
' Markierung einfärben
With Target.EntireRow
.Interior.ColorIndex = 6
LastRow = .Row
End With
End Sub
und hier zum Entfernen der Markierung vor dem Schließen der Datei:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
' Markierung vor dem Schließen entfärben
sh.Cells.Interior.ColorIndex = xlNone
Next
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile farbig markieren bis bestimmte Spalte
18.06.2019 13:55:08
Raimund
Hi Roman.
Meinst Du so etwas?
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Bereich As Range
Set Bereich = Range("A2:E1000")
If Not Intersect(Target, Bereich) Is Nothing Then
Bereich.Interior.ColorIndex = xlNone
Range(Cells(Target.Row, "A"), Cells(Target.Row, "e")).Interior.ColorIndex = 15
Target.Interior.ColorIndex = 2
End If
End Sub
Gruss
Raimund
Anzeige
AW: Zeile farbig markieren bis bestimmte Spalte
18.06.2019 13:55:38
Raimund
Hi Roman.
Meinst Du so etwas?
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Bereich As Range
Set Bereich = Range("A2:E1000")
If Not Intersect(Target, Bereich) Is Nothing Then
Bereich.Interior.ColorIndex = xlNone
Range(Cells(Target.Row, "A"), Cells(Target.Row, "e")).Interior.ColorIndex = 15
Target.Interior.ColorIndex = 2
End If
End Sub
Gruss
Raimund
Anzeige
AW: Zeile farbig markieren bis bestimmte Spalte
18.06.2019 13:56:27
Hajo_Zi

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static LastRow As Long
If LastRow = 0 Then LastRow = 1
' Letzte Markierung entfärben
Rows(LastRow).Interior.ColorIndex = xlNone
' Markierung einfärben
With Range(Cells(Target.Row, 1), Cells(Target.Row, 5))
.Interior.ColorIndex = 6
LastRow = .Row
End With
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Zeile farbig markieren bis bestimmte Spalte
18.06.2019 14:26:50
Roman
Vielen Dank, klappt einwandfrei. Und das mit ein paar Handgriffen :)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeile farbig markieren bis zur bestimmten Spalte


Schritt-für-Schritt-Anleitung

Um eine Zeile in Excel farbig zu markieren, bis zu einer bestimmten Spalte (z.B. Spalte E), kannst du den folgenden VBA-Code verwenden. Öffne dazu den VBA-Editor mit ALT + F11 und füge den Code in das entsprechende Arbeitsblatt ein:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    Dim Bereich As Range
    Set Bereich = Range("A2:E1000")
    If Not Intersect(Target, Bereich) Is Nothing Then
        Bereich.Interior.ColorIndex = xlNone
        Range(Cells(Target.Row, "A"), Cells(Target.Row, "E")).Interior.ColorIndex = 15
        Target.Interior.ColorIndex = 2
    End If
End Sub

Dieser Code sorgt dafür, dass die gesamte Zeile bis zur Spalte E farbig markiert wird, wenn du eine Zelle in diesem Bereich auswählst.


Häufige Fehler und Lösungen

  1. Markierung funktioniert nicht

    • Lösung: Stelle sicher, dass der VBA-Code im richtigen Arbeitsblatt eingefügt wurde und dass das Arbeitsblatt nicht geschützt ist.
  2. Farben werden nicht zurückgesetzt

    • Lösung: Verwende einen weiteren Code im Workbook_BeforeClose-Ereignis, um die Markierungen vor dem Schließen der Datei zu entfernen:
      Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Dim sh As Worksheet
      For Each sh In ActiveWorkbook.Worksheets
         sh.Cells.Interior.ColorIndex = xlNone
      Next
      End Sub

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du die bedingte Formatierung nutzen:

  1. Markiere den gewünschten Bereich (z.B. A2:E1000).
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“ und benutze die Formel:
    =UND(A2<>"",SPALTE()<=5)
  4. Wähle die gewünschte Formatierung aus und klicke auf „OK“.

Praktische Beispiele

  • Beispiel 1: Wenn du die Zeilen farbig markieren möchtest, wenn in Spalte A ein Wert steht, kannst du die Formel in der bedingten Formatierung anpassen.

  • Beispiel 2: Um die Markierung in verschiedenen Farben zu gestalten, kannst du den ColorIndex im VBA-Code ändern. Zum Beispiel, um eine andere Farbe zu verwenden:

    Range(Cells(Target.Row, "A"), Cells(Target.Row, "E")).Interior.ColorIndex = 10 'Grün

Tipps für Profis

  • Spalte markieren: Wenn du auch die gesamte Spalte farbig markieren möchtest, kannst du den Code entsprechend anpassen, um Target.EntireColumn.Interior.ColorIndex zu verwenden.
  • Dynamische Bereiche: Du kannst die Größe des markierten Bereichs dynamisch anpassen, indem du die letzte Zeile mit Cells(Rows.Count, "A").End(xlUp).Row ermittelst.

FAQ: Häufige Fragen

1. Wie kann ich die Farben anpassen? Du kannst die ColorIndex-Werte im VBA-Code ändern, um verschiedene Farben zu verwenden. Eine Liste der verfügbaren Farben findest du in der Excel-Dokumentation.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, die vorgestellten VBA-Lösungen sollten in den meisten aktuellen Excel-Versionen (ab Excel 2010) funktionieren. Achte darauf, dass Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige