Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

'SelectionChange' aus zweiter Arbeitsmappe

'SelectionChange' aus zweiter Arbeitsmappe
03.09.2004 10:05:29
Christoph
Hallo zusammen,
ich habe folgendes Problem:
ich möchte markierte Zeilen in meinen Arbeitsblättern hervorheben. Das entsprechende Makro hab ich bereits geschrieben.
Über 'Private Sub Worksheet_SelectionChange(ByVal Target As Range)' wird mein Makro gestartet, alles funktioniert wunderbar.
Da ich die Routine als AddIn in Excel einbinden möchte, (jedes weitere geöffnete Arbeitsblatt soll diese Funktion erhalten), müsste ich jetzt aber Arbeitsmappenübergreifend auf Selektionsänderungen reagieren.
Gibt es eine Möglichkeit das zu realisieren?
Gruß
Christoph

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

Betreff
Datum
Anwender
Anzeige
AW: 'SelectionChange' aus zweiter Arbeitsmappe
Reinhard
Hi Christoph,
in "DieseArbeitsmappe"
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
usw
Gruß
Reinhard
AW: 'SelectionChange' aus zweiter Arbeitsmappe
03.09.2004 11:04:45
Christoph
Hallo Reinhard,
danke für die Antwort aber ich habe die Problematik etwas schlecht formuliert.
Deine Lösung funktioniert für jedes weitere Arbeitsblatt in dieser Mappe. Aber wenn ich eine neue Mappe öffne, dann gehts nicht mehr.
Und genau das ist mein Problem.
Gruß
Christoph
AW: 'SelectionChange' aus zweiter Arbeitsmappe
03.09.2004 11:18:35
Jörg
Hallo Christoph,
füge in die Mappe mit dem Code ein Klassenmodul ein. In dieses Modul schreibst Du:
Public WithEvents Anwendung As Application

Private Sub Anwendung_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Hier Dein Code
End Sub

In DieseArbeitsmappe der Mappe mit dem Code schreibst Du:
Dim Anwendungsobjekt As New Klasse1

Private Sub Workbook_Open()
Set Anwendungsobjekt.Anwendung = Application
End Sub

Nach dem Neustart der Datei wird dann jedes SheetSelectionChange-Ereignis jeder offenen Mappe abgefangen.
Da gibt es übrigens noch andere schöne Ereignisse ...
Viele Grüße
Jörg
Anzeige
AW: 'SelectionChange' aus zweiter Arbeitsmappe
03.09.2004 11:53:52
Christoph
Hallo Jörg,
vielen Dank, genau so wollt' ich das haben. Funktioniert hervorragend.
... und ja du hast recht. Mit den Ereignissen tun sich ganz neue Möglichkeiten auf.
Gruß
Christoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige