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

Forumthread: Zeilen, Spalten markieren

Zeilen, Spalten markieren
18.06.2009 09:40:22
Gregor
Hallo
Im Forum habe ich folgendes Makro gefunden und auf meine Bedürfnisse angepasst.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range(Cells(1, 1), Cells(100, 100)).Interior.ColorIndex = xlNone
Range(Cells(Target.Row, 1), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 19
Range(Cells(3, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 19
End Sub


Nun arbeite ich aber in meiner Tabelle mit Zell-Farben, die nicht gelöscht werden dürfen. Es würde auch genügen, die Zeilen, Spalten nur zu markieren (select), aber mit dem Befehl Select anstelle von Interior.ColorIndex = 19 funktioniert es nicht.
Kurz: Nach der Markierung müssen immer wieder die ursprünglichen Zell-Farben vorhanden sein.
Geht das und wie?
Danke und Gruss
Gregor

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen, Spalten markieren
18.06.2009 09:54:56
Andi
Hi,
das geht mit Select, allerdings sind dann zwei Dinge zu beachten.
1. Wenn Du innerhalb der Selection-Change-Routine ein Select ausführst, dann ruft sich die Routine selbst erneut auf und kommt so in eine Endlosschleife. Lösung: Für die Laufzeit der Routine die Ereignisse mit Application.EnableEvents = False ausschalten.
2. Jede Select-Anweisung hebt eine vorherige Markierung auf; Du musst also die Markierung der senkrechten und waagerechten Zellen mittels Union in eine Anweisung zusammenfassen, sonst sind am Ende nur die senkrechten markiert.
Fertig sieht das ganze dann zB so aus:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Union(Range(Cells(Target.Row, 1), Cells(Target.Row, Target.Column)), Range(Cells(3, Target. _
Column), Cells(Target.Row, Target.Column))).Select
Application.EnableEvents = True
End Sub


Schönen Gruß,
Andi

Anzeige
Danke
18.06.2009 09:57:56
Gregor
Danke Andi
Das ist perfekt, danke auch für den Hinweis.
Gruss Gregor
gern geschehen... (ot)
18.06.2009 10:04:30
Andi
.
AW: andere Variante
18.06.2009 10:12:00
hary
Hi Gregor
mit Rahmen

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range(Cells(1, 1), Cells(100, 100)).Borders.LineStyle = xlNone
Range(Cells(Target.Row, 1), Cells(Target.Row, Target.Column)).BorderAround (1)
Range(Cells(3, Target.Column), Cells(Target.Row, Target.Column)).BorderAround (1)
End Sub


Gruss Hary

Anzeige
AW: andere Variante
18.06.2009 10:39:23
Gregor
Hallo Hary
Auch eine interessante Variante, vielen Dank.
Gregor
;

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

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