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

Bestimmte Zelle in aktiver Zeile markieren

Bestimmte Zelle in aktiver Zeile markieren
09.02.2016 11:44:56
Micha
Hallo Exceler,
habe ein kleines Problem vieleicht könnt ihr mir helfen!?
Ich habe ein Marko mit dem ich in einer aktiven Zeile 2 bestimmte Zellen markiere.
Das 1. Problem ist, wenn die Datei gespeichtert und wieder geöffnet wird, bleibt die alte Markierung aktiv, sobald man in eine andere Zeile klickt sind also zwei Zellen markiert. Erst wenn die alte Zeile aktiv ist springt die Markierung weiter.
Das 2. Problem ist, wenn man nach dem öffnen in eine Zelle mit bestehender Hintergrundfarbe klickt verschwindet diese.
Die Markierung dient nur als Orientierungshilfe, und sollte wenn möglich vor dem schließen verschwinden bzw. nicht mehr aktiv sein.
Hier das Makro:
Public AlteZeile As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Application.DisplayAlerts = False
If AlteZeile  0 Then
Range(Cells(AlteZeile, 5), Cells(AlteZeile, 6)).Interior.ColorIndex = xlColorIndexNone
Range(Cells(Target.Row, 5), Cells(Target.Row, 6)).Interior.ColorIndex = 4
Else: Target.Interior.ColorIndex = xlNone
End If
AlteZeile = Target.Row
'Application.DisplayAlerts = True
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Zelle in aktiver Zeile markieren
09.02.2016 12:27:22
Daniel
Hi
verwende nicht die Variable "AlteZeile" um die Zeilennummer der letzten Selektion zu speichern, sondern in eine Zelle, einen ExcelNamen, oder wenns ganz professionell sein soll, in eine benutzerdefinierte Dokumenteigenschaft (CustomDocumentProperty)
(aber fürs erste sollte es auch eine einfache Excelzelle tun, Excel hat genügend freie Zellen).
Dort wird der Wert beim Speichern mit gespeichert und steht somit nach einem Speichern und Schließen wieder zur verfügung.
im Prinzip müsste es ausreichen, wenn du im Code einfach die Zeilennummer in eine Zelle oder Namen schreibst und dann die Färbung in den betroffenen Spalten über die Bedingte Formatierung erledigst.
Beispiel bei Verwendung eines Namens:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveWorkbook.Names.Add Name:="AktiveZeile", RefersToR1C1:=Target.Row
Application.ScreenUpdating = True
End Sub

Bedingte Formatierung für die Spalten E und F mit folgender Formel als Regel:
=Zeile()=AktiveZeile

der Vorteil dieser Variante wäre, dass das auch funktioniert, wenn die zu markierenden Zellen eine andere Hintergrundfarbe haben, weil diese hierbei fürs markieren nicht gändert werden, sondern die Bedingte Formatierung die Originalfarbe nur überlagert.
Gruß Daniel

Anzeige
AW: Bestimmte Zelle in aktiver Zeile markieren
10.02.2016 10:19:10
Micha
@ Daniel
Dein Vorschlag funktioniert einwandfrei und ist für meine Arbeitsmappe ausreichend.
DANKE

AW: Bestimmte Zelle in aktiver Zeile markieren
09.02.2016 12:47:01
Luschi
Hallo Micha,
Das geht nur mit benutzerdefinierten Eigenschaften der Arbeitsmappe.
Schau mal hier: https://msdn.microsoft.com/de-de/library/office/ff834990.aspx
Da wird beschrieben, wie man 'Workbook.CustomDocumentProperties' anlegt/benutzt.
Gruß von Luschi
aus klein-Paris
PS: siehe auch
http://www.cpearson.com/excel/docprop.aspx
Mache Dir heute Nachmittag mal 1 Beispiel - jetzt ruft erst mal die Pflicht!
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige