Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code auslagern?

Forumthread: Code auslagern?

Code auslagern?
25.09.2006 08:36:29
Jonathan
Guten Morgen!
Ich habe mir eben überlegt, ich habe in meiner Datei sehr viel Code und viele UF. Gibt es die Möglichkeit, diesen auszulagern? Das Speichern der Datei dauert nämlich recht lange. Sobald ich aber alle UF entferne, geht das viel schneller! Und das VBA Projekt muss ja nicht mitgespeichert werden?!
Jonathan
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code auslagern?
25.09.2006 15:17:55
Gerhard
Hi,
in ein Addin auslagern.
mfg Gerhard
AW: Code auslagern?
25.09.2006 15:31:00
Jonathan
Hey,
danke für den Tipp!
Hast Du vielleicht ein Link oder eine erklärung, wie das geht? Damit kenne ich mich GAR NICHT aus!
Thanks,
Jonathan
AW: Code auslagern?
25.09.2006 16:09:02
Jonathan
Hey,
ich habe jetzt die ganze Zeit weiter gesucht, aber nichts passendes gefunden. Wie sieht die .xla Datei aus? Ich möchte ja den ganzen VBA Code auslagern, also auch den, der aufgerufen wird, wenn ich in einer bestimmten Tabelle was änder, die UF, etc.....
Wie geht das vonstatten, dass mit der eigentlichen Datei auch immer das AddIn geöffnet und damit auch wieder geschlossen wird?
Danke Euch!
Anzeige
AW: Code auslagern?
25.09.2006 18:32:32
Gerhard
Hi,
einfach mit der Endung *.xla speichern, das xla aber aus dem Dropdown auswählen, nicht von Hand eingeben.
Add-In werden nicht geöffnet, sondern über den Add-In-Manager geladen.
mfg Gerhard
AW: Code auslagern?
25.09.2006 18:54:10
Jonathan
Hey,
danke für die Antwort! Soweit habe ich es mit Tests auch schon herausgefunden. Allerdings soll sich das AddIn ja immer automatisch und NUR mit der dazugehöhrenden Arbeitsmappe öffnen, danach auch wieder schließen.
Wie kann ich denn den Code für z.B. das WB open Ereignis auslagern? Gar nicht wahrscheinlich, oder?
Jonathan
Anzeige
AW: Code auslagern?
25.09.2006 19:55:39
Gerhard
Hi,
Add-In werden nicht geöffnet und geschlossen, sonder installiert oder deinstalliert.
Du brauchst doch nur aus deiner bestimmten Mappe auf den Code zuzugreifen, aus andern halt nicht.
Workbook_Open kannst du mit einem Klassenmodul innerhalb des Add-In ausführen.
mfg Gerhard
AW: Code auslagern?
26.09.2006 08:59:12
Jonathan
Hey,
vielen Dank für Deine Geduld, Gerhard.
Mir ist das aber alles noch nicht ganz klar. Ich kann doch auch ganz einfach eine .xla Datei nur öffnen, der Code funktioniert dann doch auch?!
Hintergrund ist folgender:
Ich stelle eine Datei mehreren Anwendern zur Verfügung. Diese sollen damit aber so wenig Arbeit wie möglich haben. Also vorher AddInn installieren etc. sollte vermieden werden. Wie kann so was denn automatisch funktionieren?
Jonathan
Anzeige
AW: Code auslagern?
26.09.2006 16:46:03
Gerhard
Hi,
"Ich kann doch auch ganz einfach eine .xla Datei nur öffnen, der Code funktioniert dann doch auch?!"
Ja, aber du willst den Code deiner Mappe auslagern, wie willst du dann den Code im Add-In aufrufen?
mfg Gerhard
;
Anzeige

Infobox / Tutorial

Code auslagern in Excel: So geht's


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Arbeitsmappe: Öffne die Excel-Datei, in der Du den VBA-Code auslagern möchtest.
  2. Erstellen eines neuen Add-Ins:
    • Klicke auf Datei > Speichern unter.
    • Wähle den Dateityp „Excel-Add-In (*.xla)“ aus dem Dropdown-Menü.
  3. Code übertragen:
    • Öffne den VBA-Editor mit Alt + F11.
    • Kopiere den vorhandenen VBA-Code aus Deiner Arbeitsmappe und füge ihn in das neue Add-In ein.
  4. Verknüpfung herstellen:
    • Du musst sicherstellen, dass Deine Hauptarbeitsmappe den Code des Add-Ins aufruft. Dies kannst Du über die Funktion Application.Run tun.
  5. Automatisches Öffnen des Add-Ins:
    • Füge im Workbook_Open Ereignis den Code hinzu, um das Add-In zu laden, wenn die Arbeitsmappe geöffnet wird.
    • Beispiel:
      Private Sub Workbook_Open()
       Application.AddIns("DeinAddIn.xla").Installed = True
      End Sub
  6. Testen der Funktionalität: Schließe die Arbeitsmappe und öffne sie erneut, um zu überprüfen, ob das Add-In automatisch geladen wird.

Häufige Fehler und Lösungen

  • Fehler: Add-In wird nicht geladen: Stelle sicher, dass der Name der .xla Datei korrekt ist und das Add-In im Add-In-Manager aktiviert ist.
  • Fehler: Code funktioniert nicht: Überprüfe, ob die Funktionen im Add-In korrekt aufgerufen werden. Es könnte sein, dass Du den Namen der Funktion nicht richtig angegeben hast.
  • Lange Ladezeiten: Wenn das Speichern der Arbeitsmappe zu lange dauert, kann dies an zu viel Code oder zu vielen UserForms (UF) liegen. Das Auslagern in ein Add-In kann hier Abhilfe schaffen.

Alternative Methoden

  • Speichern als .xlsm Datei: Anstatt ein Add-In zu verwenden, kannst Du Deine Datei auch als makrofähige Arbeitsmappe (.xlsm) speichern. Dies ist jedoch nicht optimal, wenn Du den Code für mehrere Benutzer bereitstellen möchtest.
  • Verwendung von Klassenmodulen: Du kannst auch Klassenmodule verwenden, um den Code zu strukturieren und die Übersichtlichkeit zu erhöhen. Dies kann die Wartbarkeit des Codes verbessern.

Praktische Beispiele

  • Beispiel für das Auslagern von Code: Angenommen, Du hast eine Funktion, die eine Berechnung in Deiner Arbeitsmappe vornimmt:
    Function Berechnung(x As Double) As Double
      Berechnung = x * 2
    End Function

    Diese Funktion kannst Du in Dein Add-In übertragen und anschließend in Deiner Arbeitsmappe wie folgt aufrufen:

    Dim Ergebnis As Double
    Ergebnis = Application.Run("DeinAddIn.xla!Berechnung", 5)

Tipps für Profis

  • Versionskompatibilität: Vergewissere Dich, dass Dein Add-In mit der Version von Excel kompatibel ist, die Du verwendest. Einige Funktionen können in älteren Versionen nicht verfügbar sein.
  • Dokumentation: Halte eine klare Dokumentation über die Funktionen in Deinem Add-In, damit andere Benutzer leicht darauf zugreifen können.
  • Debugging: Nutze die Debugging-Tools im VBA-Editor, um Fehler schnell zu identifizieren und zu beheben.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass das Add-In nach dem Schließen der Arbeitsmappe nicht mehr aktiv ist? Du kannst den Code im Workbook_BeforeClose Ereignis verwenden, um das Add-In zu deinstallieren.

2. Kann ich den VBA-Code auch in einer Excel Online-Version verwenden? Leider unterstützt Excel Online keine VBA-Makros, sodass Du diese Methode nur in der Desktop-Version von Excel verwenden kannst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige