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

Lupe wenn Maus über Zelle schwebt

Forumthread: Lupe wenn Maus über Zelle schwebt

Lupe wenn Maus über Zelle schwebt
09.11.2004 14:00:04
norbert
Hallo liebe Fachmänner und Fachfrauen,
gibt es eine Möglichkeit in Excel, wenn man mit der Maus über einer Zelle schwebt, dass diese Zelle wie mit einer Lupe vergrößert wird?
Nur so eine Idee...
Danke für Eure Hilfe
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Lupe wenn Maus über Zelle schwebt
Ulf
Da es in einer Tabelle kein Ereignis wie Mousmove gibt, ist das nicht möglich.
Ulf
AW: Lupe wenn Maus über Zelle schwebt
09.11.2004 14:39:58
Thomas
Hallo Norbert,
in Excel gibt es diese Funktion nicht. Aber so etwas könnte man sicher programmieren ;)
Gruß
Thomas
Risi Thomas Softwareentwicklung
Anzeige
AW: Lupe wenn Maus über Zelle schwebt
Ulf
Hi,
hast du da eine konkrete Idee?
Ulf
AW: Lupe wenn Maus über Zelle schwebt
09.11.2004 15:34:17
Thomas
Hi Ulf,
&gthast du da eine konkrete Idee?
Nicht nur das, ich habe sogar schon ein konkretes Programm. Ich muß es nur noch auf verschiedenen xl-Versionen testen. Schätze mal in 2-3 Wochen wird es auf meiner Webseite zu finden sein.
Gruß
Thomas
Risi Thomas Softwareentwicklung
Anzeige
Danke für die Info oT
Ulf
oT
eventuell geht das ja doch
Reinhard
Hi Norbert,
mal als Ansatz, keine Ahnung ob das mit 8.0 geht, mit 9.0 gings.
Die Datei: https://www.herber.de/bbs/user/13209.xls enthält nachfolgenden Code.
Man bewegt die Maus und je nach Position wird eine Zelle gefärbt. Anstatt der Färbung kann man *annehm* auch die Schriftgöße erhöhen oder die Zelle als Bild umwandeln und vergrößern.
Die Zuordnung von Position des Cursors und der Zellposition stimmt noch nicht, sieht aber lösbar aus.
Vielleicht schaut ja noch mal jemand mit gutem VBA-Wissen über die Codes.
Gestartet wird es übern den CommandButton von Tablle1.
Gruß
Reinhard

Man beachte die Verweise im ganz untenstehenden VB-Code
In ein StandardModul:
Dim Xwert As Long
Dim Ywert As Long
Dim XYzelle As String
Private Declare Function GetCursorPos Lib "user32" (lpPoint As _
POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Sub position()
Dim Result&, P As POINTAPI
Result = GetCursorPos(P)
If Xwert <> P.x Or Ywert <> P.y Then Zelle = Range(Adr(P.x, P.y)).Address
If XYzelle = "" Then XYzelle = "$A$1"
If Zelle = "" Then Zelle = "$A$1"
If XYzelle <> Zelle Then
Range(Zelle).Interior.ColorIndex = 3
Range(XYzelle).Interior.ColorIndex = xlNone
XYzelle = Zelle
End If
End Sub
Function Adr(x As Long, y As Long) As String
For n = 1 To 30 '10 zeilen
gg = Cells(n, 1).Top
If Cells(n, 1).Top + 103 >= y Then
zeile = n
[E1] = zeile
Exit For
End If
Next n
For n = 1 To 124 '4 Spalten
g = Cells(1, n).Left
If Cells(1, n).Left + 28 >= x Then
spalte = n
[F1] = spalte
Exit For
End If
Next n
Adr = Cells(zeile, spalte).Address
End Function
In den Codeteil von Tabelle1:
Private Sub CommandButton1_Click()
For n = 1 To 1000
Start = Timer
Call position
While Start + 1 > Timer
Wend
Next n
End Sub
Entwickelt habe dich das Ganze aus diesem VB-Beispiel:
'Dieser Source stammt von <a href="http://www.activevb.de">http://www.activevb.de</a>
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.
'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!
'------------- Anfang Projektdatei Project1.vbp -------------
' Es muss ein Verweis auf 'Standard OLE Types' gesetzt werden.
' Es muss ein Verweis auf 'Microsoft DAO 3.0 Object Library' gesetzt
' werden.
'--------- Anfang Formular "Form1" alias Form1.Frm  ---------
' Steuerelement: Timersteuerelement "Timer1"
Option Explicit
Private Declare Function GetCursorPos Lib "user32" (lpPoint As _
POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Private Sub Timer1_Timer()
Dim Result&, P As POINTAPI
Result = GetCursorPos(P)
Me.Caption = "X: " & P.x & "     Y: " & P.y
End Sub
'---------- Ende Formular "Form1" alias Form1.Frm  ----------
'-------------- Ende Projektdatei Project1.vbp -----

Anzeige
Lösung
Reinhard
Hallo Norbert,
hier eine verbesserte Version https://www.herber.de/bbs/user/13219.xls
Läuft schon einigermassen im Sinne der Aufgabenstellung, gäbe noch einiges zu optimieren, variablendeklarationen, beschreibungen, usw.
Aber ich freue mich sehr dass ich es überhaupt zum laufen brachte :-))
Gruß
Reinhard
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Lupe in Excel: Zelle vergrößern bei Mouseover


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel zu vergrößern, wenn der Mauszeiger darüber schwebt, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und lege eine neue Arbeitsmappe an.

  2. Öffne den VBA-Editor:

    • Drücke ALT + F11.
  3. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  4. Kopiere den folgenden Code in das neue Modul:

    Dim Xwert As Long
    Dim Ywert As Long
    Dim XYzelle As String
    
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
    Private Type POINTAPI
       x As Long
       y As Long
    End Type
    
    Sub position()
       Dim Result&, P As POINTAPI
       Result = GetCursorPos(P)
       ' Hier wird die Zelle ermittelt, über der sich der Mauszeiger befindet
       If Xwert <> P.x Or Ywert <> P.y Then
           Zelle = Range(Adr(P.x, P.y)).Address
           If XYzelle = "" Then XYzelle = "$A$1"
           If Zelle = "" Then Zelle = "$A$1"
           If XYzelle <> Zelle Then
               Range(Zelle).Interior.ColorIndex = 3
               Range(XYzelle).Interior.ColorIndex = xlNone
               XYzelle = Zelle
           End If
       End If
    End Sub
    
    Function Adr(x As Long, y As Long) As String
       For n = 1 To 30 '10 zeilen
           gg = Cells(n, 1).Top
           If Cells(n, 1).Top + 103 >= y Then
               zeile = n
               Exit For
           End If
       Next n
       For n = 1 To 124 '4 Spalten
           g = Cells(1, n).Left
           If Cells(1, n).Left + 28 >= x Then
               spalte = n
               Exit For
           End If
       Next n
       Adr = Cells(zeile, spalte).Address
    End Function
  5. Füge den folgenden Code in das Codeteil von Tabelle1 ein:

    Private Sub CommandButton1_Click()
       For n = 1 To 1000
           Start = Timer
           Call position
           While Start + 1 > Timer
           Wend
       Next n
    End Sub
  6. Schließe den VBA-Editor und gehe zurück zu Excel.

  7. Starte das Makro über einen Button, indem Du einen CommandButton auf das Arbeitsblatt ziehst.


Häufige Fehler und Lösungen

  • Fehler: Zelle wird nicht vergrößert
    Überprüfe, ob Du den CommandButton korrekt konfiguriert hast. Stelle sicher, dass der Code im richtigen Modul eingefügt wurde.

  • Fehler: VBA-Funktion funktioniert nicht
    Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.


Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du stattdessen die Bedingte Formatierung nutzen, um die Schriftgröße oder die Hintergrundfarbe zu ändern, wenn Du mit der Maus über eine Zelle fährst. Diese Methode ist jedoch nicht so dynamisch wie eine echte Lupe.


Praktische Beispiele

Ein Beispiel für die Verwendung der excel lupenfunktion ist, wenn Du eine große Datenmenge hast und bei Mouseover die Zelle vergrößern möchtest, um Details besser zu sehen. Du kannst den obigen VBA-Code anpassen, um die Schriftgröße der Zelle zu ändern:

Range(Zelle).Font.Size = 20

Das sorgt dafür, dass die Schriftgröße nur in der aktiven Zelle bei Mouseover vergrößert wird.


Tipps für Profis

  • Nutze den Application.OnTime Befehl, um die Aktualisierung der Zelle in Intervallen zu steuern. Das kann die Leistung der Anwendung verbessern, besonders bei vielen Zellen.
  • Experimentiere mit der excel bild vergrößern bei mouseover-Funktion, indem Du ein Bild in eine Zelle einfügst, das bei Aktivierung angezeigt wird.

FAQ: Häufige Fragen

1. Kann ich die Lupe nur auf eine bestimmte Zelle anwenden?
Ja, Du kannst den Code anpassen, um die Funktion nur für eine bestimmte Zelle zu aktivieren.

2. Funktioniert dieser Code in allen Excel-Versionen?
Der VBA-Code sollte in den meisten Versionen von Excel funktionieren, jedoch kann es Unterschiede in der Handhabung von Makros geben. Teste ihn am besten in den Versionen, die Du verwendest.

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