Problembeschreibung

In Microsoft Office Excel funktioniert VBA-Makrocode (Microsoft Visual Basic for Application), der "hinter" einem Arbeitsblatt oder einer Arbeitsmappe enthalten ist, möglicherweise nicht ordnungsgemäß.

Ursache

Dies tritt auf, wenn die beiden folgenden Bedingungen erfüllt sind:

  • Der betreffende Code ist in einer automatisch ausgeführten Unterroutine enthalten, z. B. einer Auto_Open oder Auto_Close-Unterroutine.

  • Der Code ist nicht in einem Visual Basic-Modul enthalten, sondern "hinter" einem Arbeitsblatt oder der Arbeitsmappe selbst.

Problemumgehung 

Damit automatisch ausgeführte Unterroutinen in Microsoft Excel ordnungsgemäß funktionieren, müssen sie in einem Visual Basic-Modul enthalten sein.Sie müssen ein Visual Basic-Modul in die Arbeitsmappe einfügen und dann den Code im neuen Modul platzieren.So fügen Sie ein Visual Basic-Modul ein:

  1. Aktivieren Sie im Project Explorer im Visual Basic-Editor die Arbeitsmappe, die den betreffenden Code enthält.

  2. Klicken Sie im Menü Einfügen auf Modul.

Nachdem das neue Modul eingefügt wurde, schneiden Sie den Code von seiner ursprünglichen Position aus, und fügen Sie ihn in das Visual Basic-Modul ein. Speichern Sie dann die Arbeitsmappe.

Weitere Informationen

In Excel kann VBA-Code an drei verschiedenen Speicherorten gespeichert werden: in einem Visual Basic-Modul, in einem Visual Basic-Klassenmodul und "hinter" Arbeitsblättern und Arbeitsmappen.So bearbeiten Sie Code "behind" eines Arbeitsblatts oder einer Arbeitsmappe:

  1. Aktivieren Sie den Visual Basic-Editor (drücken Sie ALT+F11).

  2. Im Fenster Project Explorer werden Einträge wie die folgenden angezeigt:

        
         VBAProject (Book1)
         Microsoft Excel Objects
            Sheet1 (Sheet1)
            Sheet2 (Sheet2)
            Sheet3 (Sheet3)
            ThisWorkbook         
         Modules
             Module1

Wenn Sie auf einen der Arbeitsblattnamen oder Auf ThisWorkbook doppelklicken, können Sie Code in das Codefenster eingeben. Ein solcher Code, der nicht in einem Visual Basic-Modul enthalten ist, gilt als "hinter" dem Arbeitsblatt oder Thisworkbook.Wenn eine Auto_Open, Auto_Close oder eine andere automatisch ausgeführte Unterroutine "hinter" einem Arbeitsblatt oder ThisWorkbook gespeichert wird, funktioniert sie möglicherweise nicht ordnungsgemäß, wenn Sie die Arbeitsmappe öffnen oder schließen oder wenn Sie eine Aktion ausführen, die die Unterroutine ausführen soll.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.