Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
156to160
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
156to160
156to160
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile markieren

Zeile markieren
12.09.2002 22:03:09
RainerL
Hallo Forum,

Wie kann ich die Zeile in der sich die aktive Zelle befindet hervorheben um die Arbeit in einer großen Tabelle zu erleichtern? Dazu habe ich den folgenden Code gefunden. Funktoniert, ist aber zu langsam ( ca. 10 sek für eine Markierung). Habe schon einiges versucht, leider nur mit geringem Zeitgewinn. Akzeptabel wäre 1 sek. für die Markierung. Bei anderen Ansätzen habe ich das Problem, daß Zellen dieser Tabelle unterschiedliche Hintergrundfarben haben, die nicht dauerhaft verändert werden sollen.

Mit freundlichen Grüssen aus Berlin

Rainer


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static lRow As Long
If Target.Row <> lRow Then
lRow = Target.Row
Call LineMarker
End If
End Sub

'--------------------------------------------------------------------------------
Sub LineMarker()
Dim X As Long
Dim toX As Long
Dim Y As Long
Dim toY As Long
Dim fWidth As Double
Dim fHeight As Double
Dim fTop As Double
Dim ws As Worksheet

On Error Resume Next

Set ws = ActiveSheet
With ws
' toX = .UsedRange.Columns.Count
toY = .UsedRange.Rows.Count

For X = 10 To 20 ' toX
fWidth = fWidth + ws.Cells(ActiveCell.Row, X).Width
Next X
For Y = 1 To toY
If Y = ActiveCell.Row Then Exit For
fTop = fTop + .Cells(Y, 1).Height
Next Y
.Shapes("LineMarker").Delete
End With

fHeight = ActiveCell.Height

With ws
With .Shapes.AddShape(msoShapeRectangle, 0, 0, 0, 0)
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.SchemeColor = 31
.Fill.Transparency = 0.5
.Line.Weight = 0.75
.Line.Style = msoLineSingle
.Line.DashStyle = msoLineSolid
.Line.Transparency = 0
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = 32
.LockAspectRatio = msoFalse
.Width = fWidth
.Height = fHeight
.Top = fTop
.Name = "LineMarker"
End With
End With
End Sub
'--------------------------------------------------------------------------------
'EndOfCode
'--------------------------------------------------------------------------------


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zeile markieren
12.09.2002 22:40:53
Harald S
dieser code markiert die Zeile der aktiven Zelle

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Cells.Interior.ColorIndex = xlNone
Rows(Target.Row).Interior.ColorIndex = 44
End Sub

Re: Zeile markieren
12.09.2002 23:32:35
RainerL
Danke

Rainer

Re: Zeile markieren
13.09.2002 00:16:19
Ralf Sögel
Das eleminiert aber alle etwa vorhandenen Farben und das war so nicht gewollt!
Re: Zeile markieren
13.09.2002 01:36:00
Ralf Sögel
So kann man Spatzen bequem mit Kanonen erledigen. Warum reichts denn nicht, einfach mit:

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
SendKeys "+ "
End Sub
die Zeile zu markieren?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige