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

Forumthread: Zeile u Spalte farbig zur aktiven Zelle markieren

Zeile u Spalte farbig zur aktiven Zelle markieren
06.08.2005 12:17:58
Thomas
Hallo Allerseits,
gibt es eine Möglichkeit, ob über VBA oder anders, daß zur aktiven Zelle eine farbliche Markierung zwecks besserer Orientierung ein bestimmter Spalten - und Zeilenbereich, z. B. wenn Zelle K15 aktiviert wird soll die Zelle A9 und K7:K8 farblich hinterlegt werden. Die farblich Markierung sollte jedoch beim Wechsel auf eine andere Zelle (z.B. L15) wieder aufgehoben werden und dafür bei der nächste aktivierten Zelle farbig markiert werden.
Excel besitz ja diese Eigenschaft für die Spalten- und Zeilenbezeichnungen (bei A1 wird ja der Buchstabe A und die Zeilennr. 1 grau hinterlegt).
Geht das, wie schon oben beschrieben hinerhalb eines bestimmte Tabellenbereiches ?
Ich danke Euch schonmal im vorraus für Eure Bemühungen.
Gruß
Thomas
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
06.08.2005 12:36:01
Matthias
Hallo Thomas,
ins Modul des Tabellenblattes:

Option Explicit
Dim ACz As Long, ACs As Integer
Const Bereich = "K:K"
Private Sub Worksheet_Activate()
ACz = ActiveCell.Row
ACs = ActiveCell.Column
If Selection.Count > 1 Then Exit Sub
If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), 3
End Sub
Private Sub Worksheet_Deactivate()
On Error Resume Next
Markiere Cells(ACz, ACs), xlColorIndexNone
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo EX
Markiere Cells(ACz, ACs), xlColorIndexNone
If Target.Count > 1 Then Exit Sub
ACz = ActiveCell.Row
ACs = ActiveCell.Column
If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), 3
EX:
End Sub
Sub Markiere(z As Range, Farbe)
On Error Resume Next
z.Offset(-8, 0).Interior.ColorIndex = Farbe
z.Offset(-7, 0).Interior.ColorIndex = Farbe
z.Offset(-6, -10).Interior.ColorIndex = Farbe
End Sub

"Bereich" ist der Bereich, in dem die Hervorhebungen aktiv sein sollen (hier Spalte K).
Rückmeldung wäre nett!
Gruß Matthias
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
06.08.2005 13:19:50
Thomas
Hallo Matthias,
danke erstmal für deine schnelle Antwort.
Leider haut es nicht ganz hin, was die Position der farblichen Anzeige angeht, habe aber, was das angeht, auch eine sehr dürftige Beschreibung dafür abgegeben. Hier nochmal etwas ausführlicher:
Mein Arbeitsbereich in der Tabelle geht von B9:AF61. Sollte in diesem Bereich ein Zelle aktiviert werden, möchte ich in Spalte A die Zeilennummer der aktiven Zelle sowie in den beiden Zeilen 7 und 8 die dazugehörige Spalte zur aktiven Zelle farblich markiert haben.
Also bei Aktivierung von K15 (hab´ ich im ersten Anschreiben total falsch beschrieben, sorry dafür) müßte dann einmal A15 (für Zeile 15) sowie K7:K8 (für Spalte "K") farbig markiert.
Ich hoffe, das kam etwas ausführlicher rüber.
Gruß
Thomas P. (the XDuckX-Fan)
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
06.08.2005 13:36:29
Matthias
Hallo Thomas,
naja soo viele Änderungen sind da gar nicht nötig.
1.

Const Bereich = "B9:AF61"

2.

Sub Markiere(z As Range, Farbe)
On Error Resume Next
Cells(z.Row, 1).Interior.ColorIndex = Farbe
Cells(7, z.Column).Interior.ColorIndex = Farbe
Cells(8, z.Column).Interior.ColorIndex = Farbe
End Sub

Müsste jetzt hinhauen...
Gruß Matthias
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
07.08.2005 14:04:44
Thomas
Hallo Matthias,
sorry für die späte Rückmeldung, hatte gestern ein System-Crash, aber nun läuft´s ja zum Glück wieder.
Also, es funktioniert einwandfrei. Vielen dank dafür, werde mir deinen Code mal genauer reinziehen, mal sehen, ob ich ihn nachvollziehen kann.
Eine Frage habe aber noch: wenn die nächste Zelle von mir aktiviert wird und sich die Orientierungszellen farbig markieren, bleiben die vorherigen Orientierungszellen farbig markiert. Geht das auch so, dass die vorherigen Orientierungszellen farblich wieder deaktiviert werden, als keine Hintergrundfarbe haben ?
Gruß
Thomas P. (the XDuckX-Fan)

Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
07.08.2005 14:17:37
Matthias
Hallo Thomas,
hier nochmal der gesamte Code (unverändert zu gestern), bei mir werden die einst gefärbten Zellen natürlich wieder "entfärbt":

Option Explicit
Dim ACz As Long, ACs As Integer
Const Bereich = "B9:AF61"
Private Sub Worksheet_Activate()
ACz = ActiveCell.Row
ACs = ActiveCell.Column
If Selection.Count > 1 Then Exit Sub
If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), 3
End Sub
Private Sub Worksheet_Deactivate()
On Error Resume Next
Markiere Cells(ACz, ACs), xlColorIndexNone
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo EX
Markiere Cells(ACz, ACs), xlColorIndexNone
If Target.Count > 1 Then Exit Sub
ACz = ActiveCell.Row
ACs = ActiveCell.Column
If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), 3
EX:
End Sub
Sub Markiere(z As Range, Farbe)
On Error Resume Next
Cells(z.Row, 1).Interior.ColorIndex = Farbe
Cells(7, z.Column).Interior.ColorIndex = Farbe
Cells(8, z.Column).Interior.ColorIndex = Farbe
End Sub

Gruß Matthias
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
07.08.2005 14:54:24
Thomas
Hallo Matthias,
Habe den Code schon so übernommen, wie du ihn mir geschickt hast, aber leider funktioniert die Deaktivierung der alten Farbmarkierung bei aktivieren einer neuen Zelle nicht, die alte Farbmarkierung bleibt bestehen.
Ist ja merkwürdig, dass das bei dir funktioniert?
Als Farbe habe ich z.B. mal "Rot" genommen und in deinen Code eingetragen, mehr brauch ich doch nicht machen, oder mach ich was falsch?

Sub Markiere(z As Range, Farbe)
On Error Resume Next
Cells(z.Row, 1).Interior.ColorIndex = 3
Cells(7, z.Column).Interior.ColorIndex = 3
Cells(8, z.Column).Interior.ColorIndex = 3
End Sub

Gruß
Thomas P. (the XDuckX-Fan)
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
07.08.2005 15:01:14
Matthias
Hallo Thomas,
wie du vielleicht erkennst, wird die Prozedur "Markiere" mit der Farbe als Argument aufgerufen. Wenn du statt "Farbe" hier "3" reinschreibst, wird immer alles rot gefärbt, auch bei diesem Aufruf im Code, der die "Entfärbung" vornehmen soll:

Markiere Cells(ACz, ACs), xlColorIndexNone

Um es Dir etwas einfacher zu machen, hab ich die Farbe im folgenden Code als Konstante definiert (M_Farbe):

Option Explicit
Dim ACz As Long, ACs As Integer
Const Bereich = "B9:AF61"
Const M_Farbe = 3 '<<<<<<<<<<<<<<<<<< das kannst du ändern!
Private Sub Worksheet_Activate()
ACz = ActiveCell.Row
ACs = ActiveCell.Column
If Selection.Count > 1 Then Exit Sub
If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), M_Farbe
End Sub
Private Sub Worksheet_Deactivate()
On Error Resume Next
Markiere Cells(ACz, ACs), xlColorIndexNone
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo EX
Markiere Cells(ACz, ACs), xlColorIndexNone
If Target.Count > 1 Then Exit Sub
ACz = ActiveCell.Row
ACs = ActiveCell.Column
If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), M_Farbe
EX:
End Sub
Sub Markiere(z As Range, Farbe)
On Error Resume Next
Cells(z.Row, 1).Interior.ColorIndex = Farbe
Cells(7, z.Column).Interior.ColorIndex = Farbe
Cells(8, z.Column).Interior.ColorIndex = Farbe
End Sub

Gruß Matthias
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
07.08.2005 15:22:04
Thomas
Hi Matthias,
ist ja komisch, ich habe die "3" jeweils wieder in "Farbe" umgeändert und jetzt funktionierts. Jetzt werden mir die Orientierungszellen in "Rot" angezeigt und deaktivieren sich auch wieder. Super, funktioniert einwandfrei.
Nur, wieso jetzt in "Rot" ? Wo hätte ich denn in deinem alten Code eine Farbbestimmung für die Zellen eingeben müssen, z.B. "Blau" oder "Grün" oder.... , weil er mir erst gar keine Farbe angezeigt hatte und ich daher dachte, ich müßte noch einen Farbcode bestimmen.
Trotzdem erst mal vielen Dank für die Mühe
Gruß
Thomas P. (the XDuckX-Fan)
Anzeige
AW: Zeile u Spalte farbig zur aktiven Zelle markie
07.08.2005 15:24:48
Matthias
Hallo Thomas,
da, wo im neuen Code "M_Farbe" steht, stand vorher "3" für rot.
Gruß Matthias
AW: Zeile u Spalte farbig zur aktiven Zelle markie
07.08.2005 15:31:13
Thomas
Hi Matthias,
alles klar, jetzt hab´ ichs geschnallt.
Danke nochmal und noch ´nen schönen Sonntag.
Bis (vielleicht) zum nächsten Mal :-)
Gruß
Thomas P. (the XDuckX-Fan)
;

Forumthreads zu verwandten Themen

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

Zeilen und Spalten farbig zur aktiven Zelle markieren


Schritt-für-Schritt-Anleitung

Um die aktive Zeile und Spalte in Excel farbig hervorzuheben, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Zeile und Spalte der aktuell aktiven Zelle markiert werden, während die vorherige Markierung entfernt wird.

  1. Öffne dein Excel-Dokument.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge einen neuen Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“, wähle „Einfügen“ und dann „Modul“.

  4. Kopiere und füge den folgenden Code ein:

    Option Explicit
    Dim ACz As Long, ACs As Integer
    Const Bereich = "B9:AF61"
    Const M_Farbe = 3 ' Ändere dies für andere Farben (z.B. 4 für grün, 5 für blau)
    
    Private Sub Worksheet_Activate()
       ACz = ActiveCell.Row
       ACs = ActiveCell.Column
       If Selection.Count > 1 Then Exit Sub
       If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), M_Farbe
    End Sub
    
    Private Sub Worksheet_Deactivate()
       On Error Resume Next
       Markiere Cells(ACz, ACs), xlColorIndexNone
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       On Error GoTo EX
       Markiere Cells(ACz, ACs), xlColorIndexNone
       If Target.Count > 1 Then Exit Sub
       ACz = ActiveCell.Row
       ACs = ActiveCell.Column
       If Not Intersect(ActiveCell, Range(Bereich)) Is Nothing Then Markiere Cells(ACz, ACs), M_Farbe
    EX:
    End Sub
    
    Sub Markiere(z As Range, Farbe)
       On Error Resume Next
       Cells(z.Row, 1).Interior.ColorIndex = Farbe
       Cells(7, z.Column).Interior.ColorIndex = Farbe
       Cells(8, z.Column).Interior.ColorIndex = Farbe
    End Sub
  5. Schließe den VBA-Editor und kehre zu deinem Excel-Blatt zurück.

  6. Aktiviere die Zellen in dem angegebenen Bereich (B9:AF61), um die Zeilen- und Spaltenmarkierung auszuprobieren.


Häufige Fehler und Lösungen

  • Problem: Die alte Farbmarkierung bleibt bestehen.

    • Lösung: Stelle sicher, dass der Code zur Deaktivierung der alten Markierung korrekt aufgerufen wird. Achte darauf, dass du die „Farbe“ korrekt definierst und nicht direkt „3“ eingibst.
  • Problem: Die Markierung funktioniert nicht.

    • Lösung: Überprüfe, ob der „Bereich“ in der Konstante korrekt definiert ist und ob du in diesem Bereich aktivierst.

Alternative Methoden

Falls du keine VBA-Lösungen nutzen möchtest, kannst du die bedingte Formatierung verwenden, um die aktive Zelle hervorzuheben. Gehe dazu wie folgt vor:

  1. Wähle den gewünschten Bereich aus.
  2. Gehe zu „Start“ > „Bedingte Formatierung“ > „Neue Regel“.
  3. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.
  4. Gib die Formel ein: =UND(A1<>"",A1=ZELLE("Adresse")).
  5. Wähle das gewünschte Format für die Zellen aus und klicke auf „OK“.

Dies wird die aktive Zelle farbig hervorheben, funktioniert jedoch nicht direkt für Zeilen- und Spaltenmarkierungen.


Praktische Beispiele

  • Beispiel 1: Markiere die Zelle A15 und die Spalten K7 und K8, wenn du K15 aktivierst.
  • Beispiel 2: Ändere die Konstante M_Farbe in eine andere Zahl, um die Farbe zu ändern (z.B. 4 für grün).

Tipps für Profis

  • Farbe anpassen: Um verschiedene Farben zu verwenden, kannst du die „M_Farbe“-Konstante anpassen. Nutze die Farbnummern, die Excel unterstützt, um deine Arbeitsblätter visuell ansprechender zu gestalten.
  • Optimierung: Wenn du mit vielen Zellen arbeitest, kann es hilfreich sein, den Bereich zu vergrößern oder anzupassen, um die Performance zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die Farbe für die aktive Zelle ändern? Du kannst die Konstante M_Farbe im VBA-Code ändern, um eine andere Farbe für die aktive Zelle auszuwählen.

2. Funktioniert dieser Code auch in Excel 2016? Ja, dieser VBA-Code funktioniert in Excel 2016 und auch in neueren Versionen. Achte darauf, dass Makros aktiviert sind.

3. Kann ich diesen Code auch ohne VBA nutzen? Die einfachste Möglichkeit ohne VBA ist die Nutzung der bedingten Formatierung, jedoch bietet VBA mehr Flexibilität bei der Farbauswahl und der Logik.

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