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
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 -----
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:
Öffne Excel und lege eine neue Arbeitsmappe an.
Öffne den VBA-Editor:
ALT + F11
.Füge ein neues Modul hinzu:
Einfügen
und wähle Modul
.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
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
Schließe den VBA-Editor und gehe zurück zu Excel.
Starte das Makro über einen Button, indem Du einen CommandButton
auf das Arbeitsblatt ziehst.
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.
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.
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.
Application.OnTime
Befehl, um die Aktualisierung der Zelle in Intervallen zu steuern. Das kann die Leistung der Anwendung verbessern, besonders bei vielen Zellen.excel bild vergrößern bei mouseover
-Funktion, indem Du ein Bild in eine Zelle einfügst, das bei Aktivierung angezeigt wird.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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen