Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sub in einem anderen Projekt aufrufen

Sub in einem anderen Projekt aufrufen
Siegfried
Hallo,
Frage zu VBA:
Ich möchte von einem Sub in einem Projekt_A ein anderes Sub in Projekt_B aufrufen. _A ist im aktuellen Workbook und _B in einem xla
Danke für die Hilfe
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sub in einem anderen Projekt aufrufen
14.02.2006 07:56:32
Luschi
Hallo Siegfried,
dafür ist der Befehl Application.Run zuständig:
Application.Run "Projekt_B.xls!Makro_XYZ"
Application.Run "Projekt_B.xls!Makro_XYZ" ,"Parameter1"
Ergebnis = Application.Run("Projekt_K.xla!Makro_XYZ")
Ergebnis = Application.Run("Projekt_K.xla!Makro_XYZ", "Parameter1")
Voraussetzung ist, daß das entsprechende Projekt geladen ist.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Sub in einem anderen Projekt aufrufen
14.02.2006 10:55:24
Siegfried
Danke Luschi für den Hinweis - es funktioniert
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Sub in einem anderen Projekt aufrufen


Schritt-für-Schritt-Anleitung

Um ein Sub aus einem anderen Projekt in Excel VBA aufzurufen, kannst Du den Befehl Application.Run verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Dein Excel-Projekt: Stelle sicher, dass das Projekt, aus dem Du den Sub aufrufen möchtest, geladen ist.
  2. Verwende den Befehl: Um ein Sub in einem anderen Modul aufzurufen, verwende die folgende Syntax:
    Application.Run "Projekt_B.xls!Makro_XYZ"

    Hierbei ist Projekt_B.xls der Name Deiner Excel-Datei und Makro_XYZ der Name des Subs, den Du aufrufen möchtest.

  3. Parameter übergeben: Falls das aufgerufene Sub Parameter benötigt, kannst Du diese ebenfalls übergeben:
    Application.Run "Projekt_B.xls!Makro_XYZ", "Parameter1"
  4. Überprüfe das Ergebnis: Wenn Du das Ergebnis des Subs speichern möchtest, kannst Du dies so tun:
    Ergebnis = Application.Run("Projekt_K.xla!Makro_XYZ")

Häufige Fehler und Lösungen

  • Projekt nicht geladen: Stelle sicher, dass das Projekt, aus dem Du das Sub aufrufen möchtest, auch tatsächlich geöffnet ist. Wenn es nicht geladen ist, kann es nicht aufgerufen werden.
  • Falsche Syntax: Achte darauf, die korrekte Syntax zu verwenden. Ein häufiger Fehler ist es, den Projektnamen oder den Sub-Namen falsch zu schreiben.
  • Zugriffsfehler: Wenn Du versuchst, auf ein Sub zuzugreifen, das nicht öffentlich ist, wirst Du einen Fehler erhalten. Stelle sicher, dass das Sub als Public deklariert ist.

Alternative Methoden

Wenn Du eine andere Methode ausprobieren möchtest, um ein Sub aus einem anderen Modul aufzurufen, kannst Du auch Folgendes nutzen:

  • Direktes Aufrufen: Wenn das Sub im gleichen Projekt ist, kannst Du es einfach mit dem Namen aufrufen:

    Call Makro_XYZ
  • Nutze CallByName: Für dynamische Aufrufe kannst Du CallByName verwenden:

    CallByName Objekt, "Methodenname", VbMethod

Praktische Beispiele

Hier sind einige praktische Beispiele, die Dir helfen, die Konzepte besser zu verstehen:

  1. Ein einfaches Sub aufrufen:

    Sub AufrufBeispiel()
       Application.Run "MeinProjekt.xls!MeinMakro"
    End Sub
  2. Ein Sub mit Parameter aufrufen:

    Sub ParameterBeispiel()
       Application.Run "MeinProjekt.xls!MeinMakro", "MeinParameter"
    End Sub
  3. Ergebnis eines Subs speichern:

    Sub ErgebnisBeispiel()
       Dim Ergebnis As Variant
       Ergebnis = Application.Run("MeinProjekt.xla!MeinMakro")
       MsgBox Ergebnis
    End Sub

Tipps für Profis

  • Modularität: Halte Deine Subs in verschiedenen Modulen gut strukturiert. Dies erleichtert das Auffinden und Aufrufen.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um Probleme beim Aufrufen von Subs zu identifizieren und zu beheben.
  • Dokumentation: Dokumentiere Deine Subs, damit Du und andere Benutzer leicht verstehen, was jede Funktion macht.

FAQ: Häufige Fragen

1. Kann ich ein Sub aus einem geschützten Projekt aufrufen?
Nein, Du kannst kein Sub aus einem geschützten Projekt aufrufen, solange Du nicht die entsprechenden Berechtigungen hast.

2. Funktioniert das auch in Excel Online?
Die Verwendung von VBA und das Aufrufen von Subs funktioniert nicht in Excel Online, da VBA nur in der Desktop-Version von Excel verfügbar ist.

3. Wie kann ich sicherstellen, dass das Projekt geladen ist?
Du kannst eine Überprüfung in Deinem Code einbauen, um sicherzustellen, dass das Projekt geöffnet ist, bevor Du versuchst, das Sub aufzurufen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige