Thema Datum  Von Nutzer Rating
Antwort
20.01.2022 05:57:02 Julia
NotSolved
20.01.2022 08:40:26 Mase
NotSolved
20.01.2022 15:04:23 Gast48332
NotSolved
21.01.2022 06:42:14 JUlia
NotSolved
Rot Ganz einfach...
21.01.2022 08:49:20 Mase
NotSolved
21.01.2022 13:28:58 Gast12973
NotSolved
21.01.2022 14:31:04 Mase
NotSolved

Ansicht des Beitrags:
Von:
Mase
Datum:
21.01.2022 08:49:20
Views:
479
Rating: Antwort:
  Ja
Thema:
Ganz einfach...

Weil Deine Objektvariable nicht definiert ist.



Aber der Reihe nach:

 

Public WithEvents App As Application

Hier wird die Variable APP deklariert. 

Sobald deklariert, also, dem System mitgeteilt, dass eine Variable vom Datentyp Application am Tisch sitzt, muss diese auch definiert, also die Berechtigung zum mitspielen erteilt werden.

 

Hinweis: Was das Schlüsselwort Public bewirkt sollte klar sein. Wenn nicht, unbedingt einlesen.



 

Da die Variable sofort bei Spielbegin, also sobald diese Arbeitsmappe gestartet wird, mitspielen soll, muss diese noch definiert werden.

Das erreichst Du mit folgender Anweisung.

Set app = Application


Genau, sobald die eigentlich Arbeitsmappe von Excel (also der Applikation) geöffnet wurde.Wo muss diese Anweisung hin, sodass diese sofort bei Spielbegin aktiv sein wird?

Private Sub Workbook_Open()

    Set app = Application

End Sub

Jetzt horcht die Variable app auf Ereignisse, welche auf Applikationsebene, also Excelebene, gesendet werden.

Erst jetzt also, wird folgender Code durchlaufen bzw ausgeführt:

Public Sub App_WorkbookOpen(ByVal wb As Workbook)



 Application.EnableEvents = False



MsgBox "Test"



If wb.Name Like "DLQ*.xlsm" Then

    Call DLQstart

     

End If

End Sub

 



 

Übrigens.

Folgende Anweisung schaltet die Ereignissbenachrichtigungen auf allen drei Ebenen (Applikation, Arbeitsmappe, Blätter) ab:

Application.EnableEvents = False


Gehe also sorgfältig und bewusst mit dieser Anweisung bzw schalte diese wieder rechtzeitig ein.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
20.01.2022 05:57:02 Julia
NotSolved
20.01.2022 08:40:26 Mase
NotSolved
20.01.2022 15:04:23 Gast48332
NotSolved
21.01.2022 06:42:14 JUlia
NotSolved
Rot Ganz einfach...
21.01.2022 08:49:20 Mase
NotSolved
21.01.2022 13:28:58 Gast12973
NotSolved
21.01.2022 14:31:04 Mase
NotSolved