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

Forumthread: Aktive Zeile/Spalte farblich hervorheben

Aktive Zeile/Spalte farblich hervorheben
28.06.2021 11:54:45
Christoph_K
Liebes Forum,
für einen etwas größeren Terminplan würde ich gerne die aktive Zeile und Spalte der aktiven Zelle farblich hervorheben, da "Fenster fixieren" gerade für die Zeilen trotzdem schwierig ist und man Abhängigkeiten so besser erkennen kann (ohne direkt MS Project zu verwenden ;-) )
Code funktioniert so weit so gut:

Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Static xRow
Static xColumn
If xColumn  "" Then
With Columns(xColumn).Interior
.ColorIndex = xlNone
End With
With Rows(xRow).Interior
.ColorIndex = xlNone
End With
End If
pRow = Selection.Row
pColumn = Selection.Column
xRow = pRow
xColumn = pColumn
With Columns(pColumn).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
With Rows(pRow).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub
Mein Poblem ist nun, dass ich gerne die Zellfarben erhalten möchte, da aktuell ja alle Zellfarben auf weiß geändert werden, wenn sie mal ausgewählt waren.
Die Zellfarbe sollte also idealerweise vorher "zwischengespeichert" werden.
Vielleicht hat ja jemand eine(n) Lösung(sansatz).
Besten Dank.
CK
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
28.06.2021 12:05:28
Rudi
Hallo,
würde ich auf einem (ausgeblendeten) Blatt zwischenspeichern und über pastespecial xlpasteformats zurückholen.
Gruß
Rudi
AW: Aktive Zeile/Spalte farblich hervorheben
28.06.2021 12:24:53
peterk
Hallo
Ich mach das mit Bedingter Formatierung. Ich schreibe die Adresse der selektierten Zelle in z.B. A1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1") = Target.Address
End Sub

In der Bedingten Formatierung 2 Regeln:

=SPALTE()=SPALTE(INDIREKT($A$1))    bezieht sich auf $A:$Z
=ZEILE()=ZEILE(INDIREKT($A$1))          bezieht sich auf $1:$100
Und die gewünschte Formatierung (Farbe) einstellen.
Peter
Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
28.06.2021 12:25:42
Daniel
Hi
Nutze die bedingte Formatierung zum färben der Zellen
Schreibe im Selection-Change-Event die Zeilen- und Spaltennumer in zwei Zellen:

Range("A1").Value = ActiveCell.Row
Range("B1").Value = ActiveCell.Column
Richte dann die Bedingte Formatierung ein mit der Regel:

=oder(Zeile()=$A$1;Spalte()=$B$1)
Ggf musst du im selection-Change-Event noch ein

Application.ScreenUpdating = True
ausführen, damit die Bedingten Formate auch vollständig neu gezeichnet werden.
Gruß Daniel
Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
28.06.2021 14:03:42
Christoph_K
Danke schon mal für die Tipps. :-)
Habs leider auch mit der begingten Formatierung noch nicht hinbekommen und bin mir auch nicht ganz sicher, ob es über das lösbar ist.
Die Zellen sind nämlich ganz individuell und mehrere auf einmal eingefärbt.
Ich hab mal eine reduzierte Beispieldatei angehängt. Vielleicht wird das Problem so ein wenig deutlicher.
Danke schonmal. :-)
https://www.herber.de/bbs/user/146830.xlsm
Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
28.06.2021 15:33:12
peterk
Hallo
Ein mögliche Alternative zu Deinem Vorhaben (Aktivierung /Deaktivierung über Doppelklick in eine Zelle)
https://www.herber.de/bbs/user/146833.xlsm
Peter
AW: Aktive Zeile/Spalte farblich hervorheben
29.06.2021 11:40:10
Christoph_K
Hallo Peter,
wow, Hut ab.
Komplett anderer Ansatz, aber eine sehr coole Lösung. Würde ich freiweg so übernehmen, wenn das in Ordnung ist :-)
Danke für die Mühen.
VG Christoph
Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
29.06.2021 13:36:34
Christoph_K
Hallo Peter,
ein kleines Detail versuche ich gerade noch zu ändern: ich würde die Funktionalität gerne auf den Bereich G10 bis lastrow und lastcolumn festlegen.
Vielleicht hast du hier eine Lösung :-)

Dim last
last = activesheet.Cells(Rows.Count, 1).End(xlUp).Row
Set Target = Intersect(...
If Target Is Nothing Then
Exit Sub
Else
Hätte soweit geklappt, bis ich zweimal eine Zelle außerhalb des Bereichs auswähle. Dann frisst er sich mit deiner "aktrange" bei 'aktive Zelle merken.
Hänge da leider gerade ein wenig...besten Dank schonmal!
https://www.herber.de/bbs/user/146852.xlsm
Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
29.06.2021 13:57:49
peterk
Hallo Christoph
Folgende Erweiterung (die Funktionalität des Doppelklick ist somit aber nicht mehr gegeben)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
LastR = Cells(Rows.Count, 3).End(xlUp).Row
LastC = Cells(9, Columns.Count).End(xlToLeft).Column
If Intersect(Target, Range("G10", Cells(LastR, LastC))) Is Nothing Then
useShape = False
Else
useShape = True
End If
'Settings
wght = 4# 'Linienstärke in Punkt
DS = msoLineSolid 'linienart

Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
28.06.2021 19:07:46
Daniel
Hi
das funktioniert mit Bedingter Formatierung so wie ich es beschrieben habe, ganz hervorragend.
wie hast du es denn probiert?
Gruß Daniel
AW: Aktive Zeile/Spalte farblich hervorheben
29.06.2021 11:38:34
Christoph_K
Hi Daniel,
dann habe ich es wohl falsch gemacht. Hat bei mir so leider noch nicht funktioniert. Kann aber natürlich auch nur an mir liegen ;-)
Veilleicht magst du die Datei ja kurz hochladen. Danke dir.
Gruß Christoph
Anzeige
AW: Aktive Zeile/Spalte farblich hervorheben
30.06.2021 09:06:46
Daniel
Hi
hier mal eine Beispieldatei, wie man das mit Bedingter Formatierung und einfachst-Code löst.
https://www.herber.de/bbs/user/146862.xlsm
einfach irgendwo in die umrahmten zellen reinklicken.
Gruß Daniel
;

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

Aktive Zeile und Spalte in Excel farblich hervorheben


Schritt-für-Schritt-Anleitung

Um die aktive Zeile und Spalte in Excel hervorzuheben, kannst Du verschiedene Methoden anwenden. Hier zeigen wir Dir, wie Du dies ohne Makros oder VBA umsetzen kannst, indem Du die bedingte Formatierung nutzt:

  1. Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere Entwicklertools.

  2. Füge ein VBA-Skript hinzu:

    • Öffne den Visual Basic-Editor mit Alt + F11.
    • Wähle das entsprechende Arbeitsblatt aus, in dem Du arbeiten möchtest.
    • Füge den folgenden Code in das Codefenster ein:
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       Range("A1") = Target.Address
      End Sub
  3. Bedingte Formatierung einrichten:

    • Wähle den gesamten Bereich aus, in dem die aktive Zeile und Spalte hervorgehoben werden sollen.
    • Gehe zu Start > Bedingte Formatierung > Neue Regel.
    • Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden".
    • Gib folgende Formeln ein:
      • Für die aktive Spalte: =SPALTE()=SPALTE(INDIREKT($A$1))
      • Für die aktive Zeile: =ZEILE()=ZEILE(INDIREKT($A$1))
    • Wähle die gewünschte Formatierung (z.B. Hintergrundfarbe).
  4. Testen: Klicke auf verschiedene Zellen, um zu sehen, wie die aktive Zeile und Spalte hervorgehoben wird.


Häufige Fehler und Lösungen

  • Problem: Die bedingte Formatierung wird nicht angewendet.

    • Lösung: Überprüfe, ob Du die richtigen Zellen für die bedingte Formatierung ausgewählt hast und dass die Formeln korrekt eingegeben sind.
  • Problem: Die Zellfarben gehen verloren.

    • Lösung: Verwende VBA, um die vorherige Zellfarbe zu speichern, bevor Du die Zellen formatierst.

Alternative Methoden

Falls Du lieber keine VBA-Makros verwenden möchtest, kannst Du die aktive Zelle auch mit der bedingten Formatierung hervorheben:

  1. Verwende die Formel: =UND(ZEILE()=ZEILE(A1), SPALTE()=SPALTE(A1)) für die aktive Zelle.
  2. Um mehrere Zellen zu markieren, kannst Du auch die oben genannten Formeln für Zeilen und Spalten verwenden.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die aktive Zeile und Spalte markieren kannst:

  • Beispiel 1: Aktive Zelle in gelb hervorheben.

    Range("A1").Interior.Color = RGB(255, 255, 0)
  • Beispiel 2: Aktive Zeile in blau und aktive Spalte in grün.

    With Rows(ActiveCell.Row).Interior
      .Color = RGB(0, 0, 255)
    End With
    With Columns(ActiveCell.Column).Interior
      .Color = RGB(0, 255, 0)
    End With

Tipps für Profis

  • Nutze benannte Bereiche: Erstelle benannte Bereiche, um Deine Formeln übersichtlicher zu gestalten.
  • Vermeide Überlappungen: Stelle sicher, dass sich die Formatierungen nicht überschneiden, um unerwartete Ergebnisse zu vermeiden.
  • Testen mit verschiedenen Excel-Versionen: Teste Deine Lösungen in verschiedenen Excel-Versionen, um Kompatibilität zu gewährleisten.

FAQ: Häufige Fragen

1. Wie kann ich die aktive Zelle hervorheben ohne VBA? Du kannst die bedingte Formatierung verwenden, um die aktive Zelle hervorzuheben, indem Du die oben genannten Formeln anwendest.

2. Funktioniert das auch in Excel Online? Einige VBA-Funktionen sind in Excel Online nicht verfügbar. Du kannst jedoch die bedingte Formatierung verwenden, um ähnliche Ergebnisse zu erzielen.

3. Gibt es eine Möglichkeit, die Zellfarbe vor der Änderung zu speichern? Ja, Du kannst den vorherigen Farbwert in einer Hilfsspalte speichern, bevor Du die Formatierung änderst.

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