Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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
Inhaltsverzeichnis

Workbook MouseMove ->Fenster aktivieren

Workbook MouseMove ->Fenster aktivieren
Berny
Hallo Excelprofis,
ich habe zwei Excel Mappen nebeneinander auf dem Bildschirm. Nun habe ich in div. Tabellen Steuerelemente welche (natürlich) nur funktionieren wenn das entsprechende Fenster (Mappe) auch aktiviert ist.
Das hat zur Folge, dass wenn die erste Mappe aktiv ist, und ich eine Aktion in der zweiten Mappe auslösen möchte, ich diese zuerst aktivieren muss um dann das entsprechende Steuerelement "auszulösen".
Ich muss also immer zweimal klicken.
Bei Formularen gibt es die Möglichkeit einem Steuerelement bei Mausbewegung (MouseMove) ein Sub auszuführen. (CommandButton1_MouseMove)
Gibt es eine Möglichkeit einem Workbook/Windows ... Objekt ein MouseMove Ereignis zuzuordnen welche das Fenster welches unter dem Mauszeiger liegt aktiviert?
M.f.G.
Berny

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

Betreff
Benutzer
Anzeige
AW: Workbook MouseMove ->Fenster aktivieren
11.04.2011 13:56:16
Timo
Hallo Berny,
mit Excel Bordmitteln ist das nicht machbar, da muß schon ein entsprehendes Addin (http://rtsoftwaredevelopment.de/html/freeware/xleventserver.htm) oder eine Windows-API her.
Das ist dazu alles andere als einfach und stabil - da würde ich doch lieber einmal mehr klicken.
Gruß
Timo
AW: Workbook MouseMove ->Fenster aktivieren
11.04.2011 14:21:49
Timo
Hallo Berny,
eine - wenn auch nicht sehr elegante - Behelfsmöglichkeit ist mir noch eingefallen:
In einer dritten Arbeitsmappe ("C") eine leere Userform erstellen, diese so schmal wie möglich (84 ist Minimum) machen, ShowModal=false eintragen und folgenden Code hineinpacken:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
If ActiveWorkbook.Name = "A" Then
Workbooks("B").Activate
ElseIf ActiveWorkbook.Name = "B" Then
Workbooks("A").Activate
End If
End Sub
"A" und "B" natürlich durch die entsprehenden Mappennamen erstetzen.
Wenn jetzt die Userform aufgerufen wird, steht diese in der Mitte des Fensters und jedes mal, wenn man mit der Maus darüber fährt, wird geprüft, welche Mappe gerade aktiviert ist und dann die jeweils andere Mappe aktiviert.
Doch Vorsicht, auch das ist nicht ohne "Nebeneffekte": Bleibt man mit der Maus zu lange auf der Userform, springt Excel wild zwischen den beiden Fenstern hin und her. Zieht man die Maus zu schnell über der Userform hinweg, reagiert diese manchmal erst gar nicht.
Gruß
Timo
Anzeige
AW: Workbook MouseMove ->Fenster aktivieren
11.04.2011 15:44:59
Berny
Hallo Timo,
zunächst vielen Dank für deine Antwort.
auf eine ähnlich verrückte Idee bin ich auch schon gekommen. – Ich habe einfach einen CommandButton über die Ganze Seite am Tabellenrand gezogen. Als Ergebnis hatte ich dabei genau die von dir beschriebenen Nebeneffekte. Zusätzlich ist mein Commandbutten beim Scrollen mit weggewandert. Trefferquote ca. 50 %.
Also muss ich doch 2 klicken oder hoffen, dass es noch einen Excel-Profi gibt der noch tiefer in die „unendlichen Weiten“ von Excel und VBA vordringt!
M.f.G.
Berny
AW: Workbook MouseMove ->Fenster aktivieren
11.04.2011 22:46:36
Nepumuk
Hallo,
innerhalb von Excel würde ich die Finger davon lassen, außer dir macht es nichts aus dass dir das Programm mehr oder weniger regelmäßig abstürzt.
Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige