Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
216to220
216to220
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Aktive Zeile hervorheben

Aktive Zeile hervorheben
10.02.2003 07:05:02
Udo
Hallo Forum.
Versuche verzweifelt diesen Code so umzuschreiben, daß er mir nicht nur eine Zelle sondern die ganze Zeile markiert, ich aber wie mit diesem Code auch Änderungen z.B. die Farbe einer einzelnen Zelle ändern vornehmen kann. Desweiteren sollte die Zeile nicht grau sondern nur mit Muster o.Ä. sein, damit ich noch die farbigen Zellen der markierten Zeile erkennen kann.
Ganz schön kompliziert, bin gespannt ob jemand dieses Problem knacken kann.
Folgender Code steht in " Diese Arbeitsmappe "

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If OldRange <> "" Then ActiveSheet.Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub

Private Sub Workbook_Open()
OldRange = ActiveCell.Address
Register = ActiveSheet.Name
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 15
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
OldRange = ActiveCell.Address
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 15
Register = ActiveSheet.Name
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If OldRange <> "" Then Worksheets(Register).Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' Beim 1. Aufruf ist OldRange noch undefiniert
If OldRange = "" Then
OldRange = Target.Address
OldColorIndex = Target.Interior.ColorIndex
' Setze Hintergrundfarbe der aktiven Selection auf Grau
Target.Interior.ColorIndex = 15
Else
' Setze alten Range auf alte Farbe
If Range(OldRange).Interior.ColorIndex = 15 Then
Range(OldRange).Interior.ColorIndex = OldColorIndex
End If
OldColorIndex = Target.Interior.ColorIndex
' Merke mir aktuellen Adresse für nächsten Aufruf
OldRange = Target.Address
' Setze Hintergrundfarbe der aktiven Selection auf Grau
Target.Interior.ColorIndex = 15
End If
End Sub

Im eingefügten Modul steht:

Option Explicit
Public OldColorIndex As Variant
Public OldRange As String
Public Register As String

Danke schon mal im Voraus.
Gruß Udo

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Aktive Zeile hervorheben
10.02.2003 09:26:57
Steffen D

Hi Udo,

meinst du so??

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If OldRange <> "" Then ActiveSheet.Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub

Private Sub Workbook_Open()
OldRange = ActiveCell.Address
Register = ActiveSheet.Name
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 15
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
OldRange = ActiveCell.Address
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 15
Register = ActiveSheet.Name
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If OldRange <> "" Then Worksheets(Register).Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' Beim 1. Aufruf ist OldRange noch undefiniert
If OldRange = "" Then
OldRange = Target.Address
OldColorIndex = Target.Interior.Pattern
' Setze Hintergrundfarbe der aktiven Selection auf Grau
Target.EntireRow.Interior.Pattern = xlGray8
Else
' Setze alten Range auf alte Farbe
If Range(OldRange).Interior.Pattern = xlGray8 Then
Range(OldRange).EntireRow.Interior.Pattern = OldColorIndex
End If
OldColorIndex = Target.EntireRow.Interior.Pattern
' Merke mir aktuellen Adresse für nächsten Aufruf
OldRange = Target.Address
' Setze Hintergrundfarbe der aktiven Selection auf Grau
Target.EntireRow.Interior.Pattern = xlGray8
End If
End Sub


Im eingefügten Modul steht:

Option Explicit
Public OldColorIndex As Variant
Public OldRange As String
Public Register As String

Gruß
Steffen D

Anzeige
Re: Aktive Zeile hervorheben
10.02.2003 10:21:37
Hajo_Zi

Hallo Udo

bei umfangreichen Code sollte man die Quelle schon angeben.

Gruß Hajo

Re: Aktive Zeile hervorheben
10.02.2003 12:04:32
Udo

Hallo Steffen.
Danke für deine Mühe. Ist jetzt fast perfekt.Nur beim Verlassen der Markierung wird bei allen farbig hinterlegeten Zellen die Hintergrundfarbe gelöscht. Vielleicht kannst Du mir nochmal helfen.
Danke
Udo


Re: Hajo
10.02.2003 12:10:32
Udo

Hallo Hajo.
Hier die Adresse zur Quelle:
http://cad-school.ch/TNT/Software/Excel/der-dynamische-mauszeiger.html
Ich hoffe so ist es jetzt i.O.
Gruß Udo

Re: Hajo
10.02.2003 12:19:58
Hajo_Zi

Hallo Udo

ich möchte jetzt nicht mehr darüber Disskutieren. Das war aber der falsche link.

Gruß Haj

Anzeige
Sachen gibt es. Den Code kennen wir doch :-) o.T.
10.02.2003 13:06:04
Ramses

...

Re: Sachen gibt es. Den Code kennen wir doch :-) o.T.
10.02.2003 13:14:26
Udo

Hallo Leute.
Ich will mal etwas klarstellen. Natürlich ist der Code nicht von mir,das der Link einen anderen Code betrifft wäre kein Wunder. Habe zig Tausend Seiten und Foren durchgekämmt um diesen Code zu finden. Wer nun der Urheber ist kann ich bei besten Willen nicht mehr nachvollziehen. Sorry wenn sich jemand
hintergangen fühlt. War nicht meine Absicht.

Gruß Udo

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige