Thema Datum  Von Nutzer Rating
Antwort
05.10.2018 08:43:04 Jörg
NotSolved
Blau Excel makro wartet im Hintergrund
05.10.2018 10:03:14 Ulrich
NotSolved
05.10.2018 10:36:37 Jörg
NotSolved
05.10.2018 11:31:32 Ulrich
NotSolved
05.10.2018 13:00:50 Gast79429
NotSolved
05.10.2018 13:13:09 Ulrich
NotSolved
08.10.2018 09:02:01 Gast20373
NotSolved
08.10.2018 10:18:44 Ulrich
Solved
08.10.2018 11:39:15 Jörg
NotSolved

Ansicht des Beitrags:
Von:
Ulrich
Datum:
05.10.2018 10:03:14
Views:
542
Rating: Antwort:
  Ja
Thema:
Excel makro wartet im Hintergrund

Hallo,

ich fürchte, das ist nicht ganz so trivial: du benötigst eine Klasse!

In der Annahme, dass es sich um Excel dreht:

Ich würde ein AddIn erstellen, hier eine Schritt-für-Schritt-Anleitung:

du öffnest eine neue, leere Exceldatei, löscht alle Tabellenblätter, bis auf eines.

Gehst in den VBA-Editor und fügst ein neues Klassenmodul ein. Im Eigenschaftenfenster (F4) nennst du es in clsExcelApp (rechts daneben, wo (Name) steht).

In das Klassenmodul fügst du diesen Code ein:

Option Explicit

Private WithEvents mExcelApp As Application

Public Property Set ExcelApplication(ExcelApp As Application)
    Set mExcelApp = ExcelApp
End Property

Private Sub mExcelApp_WorkbookOpen(ByVal Wb As Workbook)
    Dim Ws As Worksheet
    For Each Ws In Wb.Worksheets
        MsgBox Ws.Name & ":  " & CStr(Not Ws.AutoFilter Is Nothing)
    Next
End Sub

Private Sub Class_Terminate()
    Set mExcelApp = Nothing
End Sub

Dann öffnest du das Modul "DieseArbeitsmappe" und fügst diesen Code dort ein:

Option Explicit

Dim myExcelApp As clsExcelApp

Private Sub Workbook_Open()
    MsgBox "Addin aktiv (open)"
    Set myExcelApp = New clsExcelApp
    Set myExcelApp.ExcelApplication = Application
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Set myExcelApp = Nothing
End Sub

 

Diese Datei speicherst du nun als AddIn (*.xlam). Excel schließen und wieder öffnen. Das Addin über Datei => Optionen => AddIns => ganz unten .... Auswählen und öffnen/installieren.

Jetzt wird das AddIn bei jedem Öffnen von Excel automatisch geöffnet.

Dabei wird im Modul DieseArbeitsmappe die Methode Workbook_Open ausgeführt und die Variable mExcelApp mit der Klasse clsExcelApp initialisiert.

 

Bisher konntest du einfach alles kopieren, jetzt kommt das wichtigste für dich:

Sobald eine Datei geöffnet wird, wird automatisch das Makro mExcelApp_WorkbookOpen ausgeführt. Dabei ist die Variable Wb das neu geöffnete Workbook (=Datei). Hier muss also dein Code rein. Dabei darfst du den Namen des Makros nicht verändern!

Ich habe dir zunächst mal eine Msgbox reingeschrieben. Wenn du also Dateien öffnest, müsstest du Msgboxen aufpoppen sehen (das ist die Kontrolle, das alles funktioniert).

 

Sehr viel ausführlicher erklärt findest du das Vorgehen hier:

https://online-excel.de/excel/singsel_vba.php?f=58

 

Ja, das geht auch über die personl.xlsm, würde ich aber nicht machen.

Grüße, Ulrich


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
05.10.2018 08:43:04 Jörg
NotSolved
Blau Excel makro wartet im Hintergrund
05.10.2018 10:03:14 Ulrich
NotSolved
05.10.2018 10:36:37 Jörg
NotSolved
05.10.2018 11:31:32 Ulrich
NotSolved
05.10.2018 13:00:50 Gast79429
NotSolved
05.10.2018 13:13:09 Ulrich
NotSolved
08.10.2018 09:02:01 Gast20373
NotSolved
08.10.2018 10:18:44 Ulrich
Solved
08.10.2018 11:39:15 Jörg
NotSolved