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

AddIn: Change und RightKlick -Anweiweisung

AddIn: Change und RightKlick -Anweiweisung
15.03.2004 22:08:02
Christoph Meffert
Hallo, bestes Forum,
ich kämpfe schon seit Stunden mit dem richtigen Code...aber es will mir nicht gelingen.
Ich möchte ein AddIn aus einem soweit funktionsfähigen code erstellen.
Dabei erhält auch das Kontextmenü der rechten Maustaste einen neuen Menü-Punkt.
Dieser Menüpunkt wechselt seine Funktion und Aufschrift mit dem Wert der als "Public"
deklarierten Variablen "BoolAction"
Der Code greift auf das "Workbook_SheetSelectionChange"-Ereignis zu und für die Einträge
im Kontextmenü auf das "Workbook_SheetBeforeRightClick"-Ereignis.
Im AddIn funktionieren jedoch beide Anweisungen nicht.
In den Grundzügen glaube ich zu wissen, wie man ein AddIn erstellt. (speichern als xla -
und im AddIn-Manager aktivieren - hier auf der Webseite von Hans Herber gut beschrieben)
Wie ich hier und in der Recherche rausgefunden habe, muss der Code des Klassenmoduls
beim AddIn in ein Standardmodul auslagert werden.
Bsp:

Private Sub Workbook_Open()
Call oeffnen
End Sub

In "oeffnen" steht dann:
Sub oeffnen()
BoolAction = True 'Startwert
Application.OnKey "^{d}", "Makro_ein" 'TastenKombination "Ctrl_D" aktivieren
Call ContextReset 'Kontextmenü zurücksetzen
End Sub
soweit funktion das auch. Den zugewiesenen ShortCut kann ich nach der Installation des AddIn's verwenden.
Aber:
Die Anweisungen des rechten Mausklicks und des Workbook_SheetSelectionChange krieg ich nicht hin.
Mein kläglicher Versuch für das Change-Ereignis im Klassen-Modul der Arbeibtsmappe:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Call Mappe_TabelleAuswahlGeaendert(Sh, Target)
End Sub

und im Standardmodul:
Sub Mappe_TabelleAuswahlGeaendert(Tabelle As Object, Bereich As Range)
If BoolAction = True Then Exit Sub
Rows(Bereich.Row).Select 'zu Testzwecken: die aktuelle Zeile markieren
End Sub
Ich hab jetzt hier nicht meinen ganzen Code gepostet. Ich hoffe jedoch, dass jemand mein Problem versteht:
Wie formuliert man die "Workbook_SheetSelectionChange"- und die "Workbook_SheetBeforeRightClick"-Anweisung
für ein AddIn.
Ich hab auch schon versucht, einen Verweis auf das AddIn zu setzen (Extras-verweise), dabei bekomme ich aber
immer die Fehlermeldung:
"Name steht im Konflikt mit vorhandenem Modul, Projekt oder vorhandener Objektbibliothek"
vielen Dank für eure Hilfe schon vorab
viele Grüße
Christoph Meffert

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

Betreff
Datum
Anwender
Anzeige
AW: AddIn: Change und RightKlick -Anweiweisung
15.03.2004 22:15:44
Bert
"Workbook_SheetSelectionChange" und "Workbook_SheetBeforeRightClick" greifen
nur innerhalb deines Add- In. Du brauchst ein "echtes" Klassenmodul,
das diese Ereignisse auf Application- Ebene auswerten können.
Bert
AW: AddIn: Change und RightClick -Anweisung
15.03.2004 22:44:42
Christoph Meffert
Hi Bert,
Danke für den Tipp...aber so ganz verstanden hab ich das noch nicht.
Muss im AddIn ein "echtes" Klassenmodul eingefügt werden, und dort kommen dann die "ausgelagerten" Change- und Click-Anweisungen rein?
Oder wie meinst du das?
Viele Grüße
Christoph Meffert
AW: AddIn: Change und RightClick -Anweisung
15.03.2004 23:02:35
Bert
Entschuldige, ich bin bei deinem Level VBA gut davon ausgegangen, dass
du weißt, was ein Klassenmodul ist.
Siehe Beispielmappe:
https://www.herber.de/bbs/user/4330.xls
Bert
Anzeige
Klasse dieses Klassenmodul - vielen Dank!
15.03.2004 23:14:37
Christoph Meffert
Hi Bert,
das mit dem "VBA gut" ist relativ.
Mit Klassenmodulen dieser Art hatte bisher noch nichts zu tun.
Aber jetzt, wo ich dein Beispiel sehe - fanzinierend!
Du hast mir sehr geholfen
vielen Dank
Gruß
Christoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige