Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1480to1484
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zeilen einfärben
10.03.2016 10:13:24
Ro
Hallo ihr Lieben,
ich hab mal wieder ien kleines Problem mit einem VBA Code.
Und zwar möchte ich beim Anwählen einer Zelle, dass die entsprechende Zeile farblich markiert wird. Das funktioniert auch! Allerdings wird beim Speichern der Datei die zuvor markierte Zelle fest eingefärbt. Sprich nach dem erneuten Öffnen ist die Zeile immer gefärbt.
Ich habe schon ein paar Sachen probiert. Zum Beispiel, dass nach dem Wechsel eines Tabellenblattes die Zelle (3,3) markiert wird. Das hat aber nicht funktioniert...
Habt Ihr eine Idee wie man das lösen könnte?
Hier der Code:
Dim Merk, Farbe
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If ActiveWorkbook.Worksheets(4) Is ActiveSheet Then
If Merk  "" Then Rows(Merk).Interior.ColorIndex = Farbe
If Intersect(Target, Range("B8:L20000")) Is Nothing Then Exit Sub
Merk = Target.Row
Farbe = Target.Interior.ColorIndex
Rows(Target.Row).Interior.ColorIndex = 35
Else
Exit Sub
End If
End Sub

Liebe Grüße,
Roxi

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen einfärben
10.03.2016 10:26:05
Daniel
Hi
du müssstest dir die Zeilennummer an einer Stelle merken, die beim Speichern mit gespeichert wird und somit beim Schließen nicht verloren geht, beispielsweise in eine Excelzelle oder in einem Namen.
ich würde die Zellen für so eine Markierung auch nicht permanent färben, sondern über die Bedingte Formatierung.
machs mal so:
1. folgender Code ins Modul des Tabllenblatts, dieser Schreibt die aktuelle Zeilennummer in einen Namen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names.Add "AktuelleZeile", RefersToR1C1:="=" & Target.Row
Application.ScreenUpdating = True
End Sub
2. richte für die betroffenen Zellen (B8:L20000) eine Bedingte Formatierung mit folgender Formel als Regel ein:
=Zeile()=AktuelleZeile
Gruß Daniel

Anzeige
AW: Zeilen einfärben
10.03.2016 10:46:43
Ro
Hallo Daniel,
danke für deine super schnelle Antwort!!!!
Und das Beste an der Sache ist, dass es auch funktioniert.
Gibt es eine Möglichkeit, die zeitliche Verzögerung nach der Auswahl einer Zelle zu minimieren?
Vielen Dank nochmal und liebe Grüße.
ROXI

AW: Zeilen einfärben
10.03.2016 11:05:40
Daniel
Hi
ich wüsste jetzt nicht, was da verzögern sollte.
hast du viele Formeln auf dem Blatt?
ohne einfluss auf die Rechenzeit sollte folgendes sein:
1. Erstelle aus den Formen ein Reckteck. Setze die Hintergrundfarbe auf Transparent und färbe den Rahmen in einer auffälligen Farbe und Rahmendicke
2. im SelectionChange-Event verschiebst du dann dieses Rechteck auf die selektierte Zeile.
mach es etwas grösser als die Zelle, damit du bei Bedarf auch auf den Rahmen und die untere rechte Ecke der Zelle klicken kannst:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Me.Shapes("Rectangle 1")
.Top = Target(1).Top - 3
.Height = Target(1).Height + 6
.Left = 1
.Width = Me.UsedRange.Width
End With
End Sub
weiterer Vorteil dieser Markierungsmethode:
du kannst die Form so einstellen, dass sie nicht mit ausgedruckt wird, dh er ausdruck erfolgt dann immer ohne diese Zeilenmarkierung.
Gruß Daniel
Anzeige

153 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige