Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MouseOver bei Zeile

Forumthread: MouseOver bei Zeile

MouseOver bei Zeile
24.05.2018 12:55:29
Juergen
Hallo zusammen,
eine generelle Frage:
ich habe ein Tabellenblatt mit vielen Einträgen.
Könnte man die betreffende Zeile bei "MouseOver" farblich kennzeichnen zwecks besserer Übersicht?
Danke & Gruss,
Juergen
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
geht (eher) nicht
24.05.2018 13:44:04
ChrisL
Hi Juergen
Mit Standardfunktionen wird so etwas nicht möglich sein. Ich will nicht ausschliessen, dass man mit API die Mauskoordinaten auslesen und auf Zellbereiche umrechnen kann. Aber nebst dem Aufwand hätte ich Zweifel, ob man einen "flüssigen" Prozess hin bekommt.
https://support.microsoft.com/en-us/help/152969/visual-basic-procedure-to-get-set-cursor-position
cu
Chris
Anzeige
AW: MouseOver bei Zeile
24.05.2018 13:59:14
Peter(silie)
Hallo,
hier Lösung: https://stackoverflow.com/questions/47271141/vba-get-cursor-position-as-cell-adress
Zu dem Vorhaben kann ich nur sagen:
Unnötig wie kaum etwas, wenns aber unbedingt sein muss dann lies weiter.
Du musst dir dann noch die Zeile merken, da du bei Zeilen wechsel die alte
ja auch wieder farblich zurücksetzen musst.
Zellen farblich füllen verbraucht viel Rechenleistung.
Wenn du jetzt auch noch schnell über die Zeilen gehst, dann versucht er permanent was anzumalen.
Du brauchst also unbedingt eine gescheite Buffer Zeit zwischen dem Zeilenwechsel.
Achte auch darauf dass du nicht sagst: Cells(x, y).EntireRow.Interior...
Ermittle den Sichtbaren Bereich und kennzeichne nur diesen farblich.
Anzeige
AW: MouseOver bei Zeile
24.05.2018 14:05:02
Daniel
Hi
such mal nach "Fadenkreuz" und du wirst viele lösungen finden, um die angeklickte Zeile zu markieren.
das ist deutlich einfacher, denn für das Anklicken einer Zelle gibt es ein Event (SelectionChange), das man verwenden kann.
Ich würde Lösungen bevorzugen, die die Bedingte Formatierung oder einen grafikrahmen zum Markieren verwenden. Das hat den Vorteil, dass die Originalformatierung erhalten bleibt.
Gruß Daniel
Anzeige
AW: MouseOver bei Zelle, nicht Zeile
24.05.2018 14:20:44
Dieter(Drummer)
Hallo Jürgen,
eine Möglichkeit, da wird die Zelle farbig, wenn Maus darüber geht: Code unter Tabelle:
'Herber: von: Ingo am 29.01.2007
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Cells.Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = 36 'blasses Gelb
'Target.Interior.ColorIndex = 19 'schwaches Gelb
'Target.Interior.ColorIndex = 6 'starkes Gelb
End Sub
Gruß, Dieter(Drummer)
Anzeige
AW: MouseOver bei Zelle, nicht Zeile
24.05.2018 15:11:58
Juergen
Hallo Dieter,
vielen Dank für diesen Ansatz. Das hilft mir schon weiter und ist eine gute Möglichkeit für mein Anliegen. Vielen Dank!
Gruss,
Juergen
AW: Fadenkreuz Variante
24.05.2018 14:24:14
Dieter(Drummer)
Hallo Juergen,
hier noch eine Fadenkreuzvariante:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Cells.Interior.ColorIndex = xlNone
With ActiveCell
.EntireRow.Interior.ColorIndex = 15 'erste Farbe
.EntireColumn.Interior.ColorIndex = 36 'zweite farbe
End With
End Sub
Gruß, Dieter(Drummer)
Anzeige
AW: Fadenkreuz Variante
24.05.2018 15:10:50
Juergen
Hallo Dieter,
danke für den Ansatz.
leider bekomme ich bei Verwendung von diesem lediglich die ganze Spalte farbig markkiert.
Oder habe ich was falsch verstanden?
Danke & Gruss,
Juergen
AW: Fadenkreuz Variante
24.05.2018 15:26:00
Daniel
Hi
das funktioniert schon. ggf in der Zeile mit .EntireRow eine andere Farbe probieren (auch 36 verwenden)
wenn du auf dem Blatt noch eine bedingte Formatierung aktiv hast, hat diese natürlich Priorität.
Gruß Daniel
Anzeige
AW: Fadenkreuz Variante
24.05.2018 15:42:42
Juergen
Hallo Daniel,
ja da hast du recht, geänderter farbcode und dann geht's!
Vielen Dank! ...hatte da zu schnell aufgegeben :)
Danke & Gruss,
Juergen
AW: Fadenkreuz Variante--- Nachtrag
24.05.2018 17:07:53
Juergen
Hallo Dieter,
ich muss doch nochmals was nachfragen bzgl. des Fadenkreuzes.
Ich hab es ja etwas zweckentfremdet und nutze nur die waagrechte Kennzeichnung.
Frage:
könnte man die Länge des waagrechten Farbmakierung begrenzen auf z.B. 7 Spalten?
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Cells.Interior.ColorIndex = xlNone
With ActiveCell
.EntireRow.Interior.ColorIndex = 43 'erste Farbe
'.EntireColumn.Interior.ColorIndex = 36 'zweite farbe
End With
End Sub

Danke & Gruss,
Juergen
Anzeige
AW: Fadenkreuz Variante--- Nachtrag
24.05.2018 17:26:12
Gerd
Hallo Jürgen,
klar doch. Du musst nur die Zelle links außen bezogen auf eine Spalte oder die
aktive Zelle festlegen.
Daher nur ein Beispiel-ab Spalte C = 3:
ActiveCell.EntireRow.Cells(1, 3).Resize(1, 7).Interior.ColorIndex = 43
Gruß Gerd
Anzeige
AW: Fadenkreuz Variante--- Perfekt!
24.05.2018 22:40:51
Jürgen
Hallo Gerd,
herzlichen Dank für die Lösung!
Klappt nun einwandfrei....sogar besser als ursprünglich gedacht. Super :)
Gruss, Juergen
AW: Gerd L hat ja schon geholfen Gruß, o.w.T.
24.05.2018 19:23:58
Dieter(Drummer)
AW: Gerd L hat ja schon geholfen Gruß, o.w.T.
24.05.2018 19:30:39
Daniel
Hi
klar geht das. Probier mal:
Cells.Interior.ColorIndex = xlNone
AciveCell.Offset(0, -3).Resize(1, 7).Interior.ColorIndex = 43
bzw mit Absicherung, damit du keinen Fehlerabbruch bekommst, wenn du eine Zelle am Rand selektierst:
Cells.Interior.ColorIndex = xlNone
AciveCell.Offset(0, -Worksheetfunction.Min(ActiveCell.Column - 1, 3)).Resize(1, 7).Interior.ColorIndex = 43
Gruß Daniel
Anzeige
AW: vielen Dank für deine Antwort!
24.05.2018 22:43:23
Jürgen
Hallo Daniel,
Klasse was es da für Möglichkeiten gibt!
Mich faziniert das immer wieder :)
Gruss,
Juergen
;
Anzeige

Infobox / Tutorial

MouseOver bei Zeilen in Excel


Schritt-für-Schritt-Anleitung

Um die Zeile in Excel farblich zu kennzeichnen, wenn du mit der Maus darüber fährst, kannst du Visual Basic for Applications (VBA) verwenden. Hier ist eine einfache Anleitung:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das gewünschte Arbeitsblatt im Projektfenster aus.

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       Me.Cells.Interior.ColorIndex = xlNone
       Target.EntireRow.Interior.ColorIndex = 36 'blasses Gelb
    End Sub
  4. Schließe den VBA-Editor und kehre zu deinem Arbeitsblatt zurück.

  5. Teste die Funktion, indem du über verschiedene Zeilen fährst.

Du kannst die ColorIndex-Nummer ändern, um eine andere Farbe auszuwählen. Beachte, dass das direkt MouseOver in Excel nicht möglich ist, aber die Auswahländerung erreicht einen ähnlichen Effekt.


Häufige Fehler und Lösungen

  • Problem: Die gesamte Spalte wird farbig markiert.

    • Lösung: Stelle sicher, dass du .EntireRow korrekt verwendest und die Farbe anpasst, wie in der Anleitung beschrieben.
  • Problem: Die Zellen ändern ihre Farbe nicht.

    • Lösung: Überprüfe, ob Makros in deiner Excel-Version aktiviert sind.
  • Problem: Die Formatierung wird durch bedingte Formatierungen überschrieben.

    • Lösung: Deaktiviere die bedingte Formatierung oder ändere die Priorität, um sicherzustellen, dass dein VBA-Code Vorrang hat.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, gibt es alternative Ansätze:

  • Bedingte Formatierung: Du kannst einfach die bedingte Formatierung nutzen, um die Zeile zu markieren, wenn eine bestimmte Bedingung erfüllt ist (z.B. wenn ein Wert in einer bestimmten Spalte steht).

  • Formeln: Verwende Formeln, um visuelle Hinweise in einer Zelle zu erzeugen, die auf bestimmte Bedingungen basieren.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung von MouseOver-Effekten in Excel:

  1. Fadenkreuz-Methode: Markiere die gesamte Zeile und eine bestimmte Anzahl von Spalten.

    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
       Cells.Interior.ColorIndex = xlNone
       ActiveCell.EntireRow.Cells(1, 3).Resize(1, 7).Interior.ColorIndex = 43
    End Sub
  2. Anpassung der Länge: Um die Länge der Farbmarkierung auf z.B. 7 Spalten zu begrenzen, kannst du den folgenden Code verwenden:

    ActiveCell.EntireRow.Cells(1, 1).Resize(1, 7).Interior.ColorIndex = 43

Tipps für Profis

  • Buffer-Zeit: Implementiere eine Buffer-Zeit, um die Leistung zu optimieren, besonders wenn du schnell über mehrere Zeilen scrollst.

  • Zellen-Füllung minimieren: Vermeide es, die gesamte Arbeitsmappe bei jedem MouseOver zu ändern. Konzentriere dich auf den sichtbaren Bereich.

  • Nutzung von WorksheetFunction: Verwende WorksheetFunction zur Fehlervermeidung, wenn du am Rand der Tabelle arbeitest.


FAQ: Häufige Fragen

1. Kann ich das MouseOver für andere Zellen anpassen?
Ja, du kannst den VBA-Code anpassen, um andere Zellen oder Bereiche zu berücksichtigen.

2. Funktioniert das in allen Excel-Versionen?
Die VBA-Methode funktioniert in den meisten modernen Excel-Versionen, die Makros unterstützen.

3. Wie kann ich die Farbe ändern?
Ändere einfach den ColorIndex im VBA-Code, um eine andere Farbe zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige