Herbers Excel-Forum - das Archiv
Hervorheben der Zeile der aktiven Zelle

|
Betrifft: Hervorheben der Zeile der aktiven Zelle
von: PeterM
Geschrieben am: 19.11.2003 09:04:31
Liebe Experten,
ich möchte eine Tabelle so formatieren, dass bei einer Bewegung der Aktiven Zelle mit Hilfe der Cursortasten nach oben oder unten eine Linie über die gesamte Tabellenbreite mit läuft.
Etwa so, dass die untere Gitternetzlinie in der Zeile der aktiven Zelle wie ein Rahmen formatiert ist.
Und wenn man das Ganze noch ein- und ausschalten könnte, wäre es super (aber nicht unbedingt zwingend)!
Mit großem Dank im Voraus
PeterM
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: Hajo_Zi
Geschrieben am: 19.11.2003 09:09:06
Hallo Peter
schaue mal auf meine Homepage da ist ein Beispiel auf der Seite VBA. Dort wird die akive Zeile mit rot hervorgehoben und mit Doppelklick wird die markierung abgeschaltet.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: PeterM
Geschrieben am: 19.11.2003 09:34:24
Hi Hajo,
hilfreich wäre, wenn Du sagen könntest, welches Beispiel auf Deiner Seite diesen roten Balken enthält.
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: Hajo_Zi
Geschrieben am: 19.11.2003 09:51:04
Hallo Peter
ich hätte vielleicht nach Zeile gesucht, um Zeile ging es doch???
Zeile markieren hätte ich gedacht wäre die Lösung??
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: GerdW
Geschrieben am: 19.11.2003 09:10:23
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.EntireRow.Select
End Sub
Das schränkt aber die Arbeit in Excel in gewisser Weise ein!
Gerd
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: PeterM
Geschrieben am: 19.11.2003 09:18:59
Hi Gerd,
so gehts leider nicht, weil man dann nur noch in Spalte A aktive Zellen nuzen kann!
PeterM
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: GerdW
Geschrieben am: 19.11.2003 09:34:49
Stimmt, meld mich später nochmal.
Gerd
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: PeterM
Geschrieben am: 19.11.2003 09:39:19
Danke, ich warte geduldig.
PeterM
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: GerdW
Geschrieben am: 19.11.2003 10:28:48
Option Explicit
Dim ac As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set ac = ActiveCell
On Error GoTo ende
Application.EnableEvents = False
Target.EntireRow.Select
ac.Activate
ende:
Application.EnableEvents = True
End Sub
Gerd
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: PeterM
Geschrieben am: 19.11.2003 11:14:44
Danke Gerd,
das Warten hat sich gelohnt!
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: Boris
Geschrieben am: 19.11.2003 10:29:09
Hi Peter,
ich würde es über einen Shortcut lösen, der steuert, ob das Ereignis (ganze Zeile markieren) ausgeführt wird oder eben nicht. Dieser Shortcut setzt eine boolsche Variable immer abwechselnd auf FALSE oder TRUE.
Im Beispiel ist es die Tastebkombination (Shortcut) Alt+Q.
In das Modul "Diese Arbeitsmappe":
Option Explicit
Private Sub Workbook_Open()
Application.OnKey ("%{q}"), "aus_an"
End Sub
In ein allgemeines Modul:
Option Explicit
Public b As Boolean
Sub aus_an()
b = Not b
End Sub
In das Modul der entsprechenden Tabelle:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If b Then Rows(ActiveCell.Row).Select
End Sub
Grüße Boris
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: PeterM
Geschrieben am: 19.11.2003 11:01:27
Danke Boris,
ich habe das "aus_an"
aber so eingebaut, dass man es über ein Symbol nutzen kann.
Und siehe da - es funzt.
PeterM
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: Martin Bee
Geschrieben am: 19.11.2003 10:40:28
Hallo Peter,
vielleicht meinst du das: Zeile wird jetzt gelb markiert:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Rows.Interior.ColorIndex = xlColorIndexNone
Rows(Target.Row).Interior.ColorIndex = 6
End Sub
Gruss Martin
Betrifft: Dann sind aber alle Formatierungen im nu futsch...
von: Boris
Geschrieben am: 19.11.2003 10:44:08
Hi Martin,
...ob das so gewollt ist?
Grüße Boris
Betrifft: AW: Hervorheben der Zeile der aktiven Zelle
von: mathiasr
Geschrieben am: 19.11.2003 16:39:16
Hier noch eine Alternative mit einer "Shape" Linie. Der Code könnte in der "Personl.xls" gespeichert werden. Aufgerufen wird er im Klassenmodul der Tabelle die den Zeilenmarkierer erhalten soll.
Klassenmodul:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Run "Personl.xls!markRow"
End Sub
In Personl.xls:
Sub rowMarkerOn()
'Automatische Markierung an
'Aufruf über eigenen Symbolleistenbutton
bRowMarkerOn = True
markRow
End Sub
Sub rowMarkerOff()
'Automatische Markierung aus
'Aufruf über eigenen Symbolleistenbutton
Dim shp As Shape
bRowMarkerOn = False
On Error Resume Next
ActiveSheet.Shapes("Marker").Delete
End Sub
Public Sub markRow()
'Erzeugt eine Linie unterhalb der aktiven Zelle
Dim shp As Shape
On Error Resume Next
If bRowMarkerOn Then
ActiveSheet.Shapes("Marker").Delete
Set lnLine = ActiveSheet.Shapes.AddLine(0, ActiveCell.Top + ActiveCell.Height, 456#, ActiveCell.Top + ActiveCell.Height)
With lnLine
.Name = "Marker"
.Line.ForeColor.SchemeColor = 10
.Line.Weight = 2.25
.Line.Style = msoLineSingle
.Visible = msoTrue
End With
End If
End Sub