Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aktive Zeile farbig markieren

Forumthread: Aktive Zeile farbig markieren

Aktive Zeile farbig markieren
30.03.2018 12:23:20
stephan

hallo zusammen,
ich habe mich im internet schon etwas eingelesen, aber noch nicht die lösung für mein problem gefunden.
ich habe eine tabelle mit abwechselnd farbigen zeilen
(per code =REST(ZEILE();2)=0 und =REST(ZEILE();2)=1) auf weiß und blau hinterlegt.
ich möchte, dass die jeweils aktive zeile beim anklicken farbig markiert wird.
einen vba code hab ich zwar schon mal gefunden, der funktioniert aber nur in leeren zeilen, nicht in den schon farbig definierten.
kann mir bitte jemand helfen?
vielen dank vorab.

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktive Zeile farbig markieren
30.03.2018 12:37:19
Daniel
Äh
Blöd gefragt...
Meinst du so:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.Interior.ColorIndex = 8 'aqua
End Sub
?
MfG
Daniel
AW: Aktive Zeile farbig markieren
30.03.2018 13:14:55
stephan
hallo daniel, da passiert bei mir leider gar nichts...
aber die lösung von robert werner ist gut. damit ist mir geholfen.
vielen dank.
Anzeige
AW: Aktive Zeile farbig markieren
30.03.2018 12:56:16
Robert Werner
Hallo Stephan,
ich habe in beiliegender Datei für den Tabellenbereich A1:E6 die Formatierung mal nachgebaut. Über die bedingte Formatierung erhalten die Zeilen abwechselnd einen weißen und blauen Hintergrund.
Über das SelectionChange-Ereignis gebe ich der gerade ausgewählten Zelle einen Namen
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.Names.Add Name:="AktZelle", RefersToR1C1:=Target
End Sub

In der bedingten Formatierung habe ich als erste Formatierung einen gelben Hintergrund eingestellt, der dann genommen wird, wenn die Zeilen-Nr. mit der Zeilen-Nr. der Zelle mit dem Namen "AktZelle" entspricht(=ZEILE(A1)=ZEILE(AktZelle)) Somit wird die aktuell ausgewählte Zeile markiert.
Ist es so, wie Du es wolltest?
https://www.herber.de/bbs/user/120769.xlsm
Gruß
Robert
Anzeige
AW: Aktive Zeile farbig markieren
30.03.2018 13:18:53
stephan
hallo robert werner,
vielen dank, ja, das ist super so.
d.h. ich muss nur noch deine vba module, den vba code und die bedingte formatierung in meine datei einbauen, den zellen/zeilenberiech in meiner formatierung entsprechend anpassen und dann funktioniert das auch in meiner tabelle?
oder ist es einfacher, meine daten in die datei 120769 rein zu kopieren?
danke, gruß stephan
Anzeige
AW: Aktive Zeile farbig markieren
30.03.2018 13:33:51
Robert Werner
Hallo,
ja, wenn Du die Prozedur Worksheet_SelectionChange bei Dir einfügst (nicht in ein Standardmodul sondern in das Modul der entsprechenden Tabelle z. B. Tabelle1) und die bedingte Formatierung gemäß Deinem Tabellenbereich einstellst, müsste es funktionieren.
Wenn Du Deine Daten in meine Datei einfügst, klappt es, wenn Du nur die Werte und/oder Formeln einfügst. Wenn Du einfach mit Copy and Paste die Daten übernimmst, werden auch die bedingte Formatierungen in meiner Tabelle überschrieben. Diese müsstest Du dann auch wieder nachbauen.
Einfacher stelle ich mir vor - ohne Deine Datei zu kennen -, wäre es, die Prozedur und bedingte Formatierung in Deiner Datei einzubauen / anzupassen.
Gruß
Robert
Anzeige
AW: Aktive Zeile farbig markieren
30.03.2018 15:27:21
stephan
ok, habs bei mir eingebaut. klappt super.
vielen dank für die schnelle meldung und lösung.
gruß stephan
AW: Aktive Zeile farbig markieren
30.03.2018 13:00:40
Markus
Hallo Daniel
super mit der aktiven Zelle; aber nach dem verlassen der Zelle soll der Urzustand wieder hergestellt werden!
Geht das auch?
Frohe Aqua-blaue Ostern
AW: Aktive Zeile farbig markieren
30.03.2018 17:02:43
Daniel
Oi
Entschuldige - hab das jetzt erst gesehen...
Achso - dann hab ich die Frage falsch verstanden gehabt, sorry...
Das dürfte so gehen denke ich...
Option Explicit
Dim LastCell As Range
Dim Aqua As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
LastCell.Interior.ColorIndex = Aqua
Aqua = Target.Interior.ColorIndex
Target.Interior.ColorIndex = 8
Set LastCell = Target
End Sub

Auch hier:
Nicht getestet, gehe aber davon aus, dass es so klappen sollte.
MfG
Daniel
Anzeige
AW: Aktive Zeile farbig markieren
30.03.2018 17:16:34
Gerd L
Userbild
AW: Aktive Zeile farbig markieren
30.03.2018 20:19:28
Daniel
Hab das jetzt bei mir nachgestellt...bei mir klappt es genau so...
Aber du kannst mal noch:
On Error Resume Next
als erste Zeile der Sub einfügen...
Den Fehler kann ich aber nicht nachvollziehen...
MfG
Daniel
Anzeige
AW: Aktive Zeile farbig markieren
31.03.2018 12:13:03
Gerd L
Das bezweifle ich stark. Prüfe auf Nothing.
AW: Aktive Zeile farbig markieren
31.03.2018 12:43:15
Robert Werner
Hallo,
wie ich das so sehe, wurde zwar die Variable LastCell deklariert aber noch nicht zugewiesen. Deshalb kann schon die erste Zeile des Codes (LastCell.Interior.ColorIndex = Aqua) nicht funktionieren. Vorher müsste mit Set LastCell = irgendwas der Variablen einen Range-Bereich zugeordnet werden.
Außerdem hat die Variable Aqua auch noch keinen Wert, der dem ColorIndex zugewiesen werden könnte.
Gruß
Robert
Anzeige
AW: Aktive Zeile farbig markieren
31.03.2018 13:50:53
Daniel
Wie gesagt:
Bei mir funktioniert es genau so wie ich es rein geschrieben habe...
Das kannst du bezweifeln wie du willst - es bleibt eine Tatsache...
Option Explicit
Dim LastCell As Range
Dim Aqua As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
On Error Resume Next
LastCell.Interior.ColorIndex = Aqua
Aqua = Target.Interior.ColorIndex
Target.Interior.ColorIndex = 8
Set LastCell = Target
End Sub

Und Robert:
Dim LastCell As Range
Klar ist das deklariert... ;-)
Anzeige
AW: Aktive Zeile farbig markieren
01.04.2018 13:47:39
Robert Werner
Hallo Daniel,
natürlich funktioniert es bei Dir. Du hast ja auch mit der Anweisung On Error Resume Next das Makro angewiesen, bei einem Fehler nicht anzuhalten sondern weiter zu machen.
Außerdem habe ich nicht behauptet, Du hättest die Variable LastCell nicht deklariert. Vielmehr hat die Variable LastCell beim ersten Lauf des Makros noch keinen Wert. Der wird erst in der letzten Zeile vor End Sub zugewiesen.
Also kann dem Range-Objekt LastCell beim ersten Lauf des Makros auch kein Hintergrund zugeordnet werden. Einen Hintergrund (Variable Aqua), der im übrigen auch erst eine Zeile später einen Wert erhält. Da du aber dem Code mit der Zeile On Error Resume Next sagst, er soll bei Auftreten eines Fehlers einfach weitermachen, bemerkst Du das gar nicht.
Gruß
Robert

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Aktive Zeile farbig markieren in Excel


Schritt-für-Schritt-Anleitung

Um die aktive Zeile in Excel farbig zu markieren, kannst du die bedingte Formatierung zusammen mit einem VBA-Skript verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei und gehe zu dem Arbeitsblatt, auf dem du die aktive Zeile markieren möchtest.

  2. Aktiviere die Entwicklertools (falls noch nicht geschehen):

    • Gehe zu "Datei" > "Optionen" > "Menüband anpassen".
    • Aktiviere das Kontrollkästchen "Entwicklertools".
  3. Füge den VBA-Code ein:

    • Klicke auf "Entwicklertools" > "Visual Basic".
    • Doppelklicke auf das Arbeitsblatt, in dem du die aktive Zeile markieren möchtest (z.B. "Tabelle1").
    • Füge den folgenden Code ein:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       ActiveSheet.Cells.Interior.ColorIndex = xlNone ' Alle Zellen zurücksetzen
       Target.EntireRow.Interior.ColorIndex = 8 ' Aktive Zeile farbig markieren
    End Sub
  4. Speichere deine Änderungen und schließe den VBA-Editor.

  5. Teste die Funktion: Klicke auf eine beliebige Zelle, um die aktive Zeile zu markieren.


Häufige Fehler und Lösungen

  • Fehler: Es passiert nichts, wenn ich eine Zelle klicke.

    • Lösung: Stelle sicher, dass der VBA-Code im richtigen Arbeitsblatt-Modul eingefügt wurde und dass Makros aktiviert sind.
  • Fehler: Die Formatierung wird nicht zurückgesetzt.

    • Lösung: Überprüfe den Code auf Fehler. Stelle sicher, dass die Zeile ActiveSheet.Cells.Interior.ColorIndex = xlNone vor der Zeilenmarkierung steht.

Alternative Methoden

Wenn du die aktive Zeile hervorheben möchtest, ohne VBA zu verwenden, kannst du die bedingte Formatierung nutzen. Hier ist eine einfache Methode:

  1. Markiere den Bereich, den du formatieren möchtest.
  2. Gehe zu "Start" > "Bedingte Formatierung" > "Neue Regel".
  3. Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden".
  4. Gib folgende Formel ein:
    =ZEILE()=ZEILE(AKTIVE_ZELLE())
  5. Wähle die gewünschte Formatierung aus (z.B. Hintergrundfarbe) und klicke auf "OK".

Praktische Beispiele

  1. Excel aktive Zeile hervorheben ohne VBA: Verwende die bedingte Formatierung wie oben beschrieben.
  2. Excel aktive Zeile und Spalte farblich hervorheben: Kombiniere die obige Methode mit einer weiteren Regel für die Spalte:
    =SPALTE()=SPALTE(AKTIVE_ZELLE())

Tipps für Profis

  • Verwende benannte Bereiche: Um den Code flexibler zu gestalten, kannst du benannte Bereiche verwenden, um die aktive Zelle zu referenzieren.
  • Farben personalisieren: Experimentiere mit verschiedenen ColorIndex-Werten, um die perfekte Farbe für deine aktive Zeile zu finden.
  • Performance: Bei großen Datenmengen kann die Verarbeitung durch VBA langsamer werden. Teste die Performance deiner Lösung.

FAQ: Häufige Fragen

1. Wie kann ich die aktive Zelle farbig hervorheben?
Du kannst die aktive Zelle mit der bedingten Formatierung hervorheben, indem du die Regel =A1=AKTIVE_ZELLE() verwendest und die Formatierung anpasst.

2. Funktioniert das auch in Excel Online?
Leider unterstützen die Online-Versionen von Excel derzeit keine VBA-Makros, aber du kannst die bedingte Formatierung verwenden.

3. Wie kann ich die Farbe nach dem Verlassen der Zelle zurücksetzen?
Du kannst dies mit einer zusätzlichen Zeile im VBA-Code erreichen, die die Farbe der letzten Zelle speichert und zurücksetzt.

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