Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hervorheben einer Zelle, wenn "Cursor" in Zeile

Hervorheben einer Zelle, wenn "Cursor" in Zeile
28.11.2006 10:13:51
Christian
Hallo,
Betreff verstanden? ;-))
Ich möchte gerne stets die Zelle der Spalte B hervorheben (z.B. Hintergrundfarbe orange) und zwar in der Zeile in der sich gerade die aktivierte Zelle befindet.
Also, wenn die die aktivierte Zelle in Zeile 28 ist, soll B28 hervorgehoben sein und die Hervorhebung soll verschwinden, wenn ich aus der Zeile wieder verschwinde.
Leider fehlt mir der Durchblick, wie ich das angehen soll.
Welches Ereignis wird beim Zellenwechsel ausgelöst?
Wie frage ich die aktuelle Position ab?
MfG
Christian
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
meine Lösung ist zu langsam...
28.11.2006 10:28:06
Christian
Bin selbst drauf gekommen, war ja nicht schwer, allerdings ist diese Lösung sehr langsam. Gehts schneller?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Columns("B:B").Interior.ColorIndex = xlNone
Cells(ActiveCell.Row, 2).Interior.ColorIndex = 40
End Sub

MfG
Christian
Anzeige
AW: meine Lösung ist zu langsam...
28.11.2006 10:40:43
UweD
Hallo
so ginge es auch, ist aber auch nicht schneller?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Columns("B:B").Interior.ColorIndex = xlNone
Cells(Target.Row, 2).Interior.ColorIndex = 40
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: meine Lösung ist zu langsam...
28.11.2006 10:44:11
Christian
Stimmt, aber so ists NOCH langsamer: ;-)
Public zeile As Integer

Sub hervor()
Cells(zeile, 2).Interior.ColorIndex = 0
zeile = ActiveCell.Row
Application.ScreenUpdating = False
Cells(zeile, 2).Interior.ColorIndex = 40
End Sub

AW: meine Lösung ist zu langsam...
28.11.2006 10:42:09
EtoPHG
Hallo Christian,
Kannst Du mir sagen was Du unter sehr langsam verstehst ?
Probiers mal so:

Public dLastRow As Double
Public iLastColor As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not (dLastRow = 0) Then
ActiveSheet.Cells(dLastRow, 2).Interior.ColorIndex = iLastColor
End If
dLastRow = ActiveCell.Row
iLastColor = ActiveSheet.Cells(ActiveCell.Row, 2).Interior.ColorIndex
ActiveSheet.Cells(ActiveCell.Row, 2).Interior.ColorIndex = 40
End Sub

Gruss Hansueli
Anzeige
AW: meine Lösung ist zu langsam...
28.11.2006 23:29:13
Daniel.EisertPrivate
Hallo
probier mal folgendes:
diesen Code beim Sheet:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Names.Add Name:="ZE", RefersTo:="=" & Target.Row
End Sub

und in der Bedingten Formatierung für die Spalte B dann folgende Formel:
=Zeile(B1)=Ze
Hintergrundfarbe, Schriftfarbe oder Linien als markierung kannst du dir dann beliebig aussuchen.
Falls Bestimmte Zellen in Spalte B schon irgend eine feste Hintergrundfarbe haben, wird diese nicht dauerhaft gelöscht, sondern bleibt erhalten.
Gruß, Daniel
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
Anzeige

Infobox / Tutorial

Zelle hervorheben, wenn der Cursor in der Zeile ist


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel hervorzuheben, während sich der Cursor in der entsprechenden Zeile befindet, kannst Du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Zelle in Spalte B der aktuellen Zeile farbig markiert wird.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle das Arbeitsblatt aus, auf dem Du die Funktion anwenden möchtest.
  3. Füge den folgenden Code in das passende Codefenster ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Columns("B:B").Interior.ColorIndex = xlNone
    Cells(Target.Row, 2).Interior.ColorIndex = 40
End Sub
  1. Schließe den VBA-Editor und kehre zurück zu Excel.
  2. Probiere es aus, indem Du in verschiedenen Zellen klickst. Du wirst sehen, dass die Zelle in Spalte B der aktiven Zeile automatisch hervorgehoben wird.

Häufige Fehler und Lösungen

  • Fehler: Die Hervorhebung funktioniert nicht.
    Lösung: Stelle sicher, dass der VBA-Code korrekt eingegeben wurde und dass Du das richtige Arbeitsblatt ausgewählt hast.

  • Fehler: Die Hervorhebung ist zu langsam.
    Lösung: Überlege, den Code zu optimieren, indem Du die ScreenUpdating-Eigenschaft von Excel verwendest, um die Aktualisierung des Bildschirms während des Codes zu deaktivieren:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
    Columns("B:B").Interior.ColorIndex = xlNone
    Cells(Target.Row, 2).Interior.ColorIndex = 40
    Application.ScreenUpdating = True
End Sub

Alternative Methoden

Eine alternative Methode besteht darin, die bedingte Formatierung zu verwenden, um die Excel-Spalte und Zeile farbig zu markieren:

  1. Wähle die gesamte Spalte B aus.
  2. Gehe zu Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gib folgende Formel ein:
=ZEILE()=ZEILE(B1)
  1. Setze das gewünschte Format für die Hintergrundfarbe und klicke auf OK.

Praktische Beispiele

Angenommen, Du möchtest die gesamte Zeile 28 hervorheben, wenn Du sie auswählst:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Rows("1:1048576").Interior.ColorIndex = xlNone ' Setzt alle Zeilen zurück
    Target.EntireRow.Interior.ColorIndex = 40 ' Hebt die gesamte Zeile hervor
End Sub

Dies kann nützlich sein, wenn Du die gesamte Zeile farbig markieren möchtest, wenn der Cursor sich in einer bestimmten Zeile befindet.


Tipps für Profis

  • Du kannst die Hervorhebung anpassen, indem Du die ColorIndex-Werte änderst. Eine Liste der Farbindizes findest Du in den Excel-Dokumentationen.
  • Überlege, die Funktionalität weiter zu verbessern, indem Du zusätzliche Bedingungen für die Hervorhebung hinzufügst, z.B. für bestimmte Werte oder Datenformate.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die gesamte Zeile farbig markieren, wenn ich mich in einer Zelle befinde?
Antwort: Verwende den Target.EntireRow-Befehl im VBA-Code, um die gesamte Zeile hervorzuheben.

2. Frage
Kann ich mehrere Spalten gleichzeitig hervorheben?
Antwort: Ja, passe den VBA-Code an, um mehrere Spalten gleichzeitig zu markieren. Zum Beispiel:

Cells(Target.Row, 1).Interior.ColorIndex = 40 ' Spalte A
Cells(Target.Row, 2).Interior.ColorIndex = 40 ' Spalte B

Mit diesen Informationen solltest Du in der Lage sein, die Excel-Zeile hervorzuheben, in der sich der Cursor befindet, und dabei verschiedene Ansätze auszuprobieren, um das gewünschte Ergebnis zu erzielen.

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