Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform aus anderer Datei öffnen

Forumthread: Userform aus anderer Datei öffnen

Userform aus anderer Datei öffnen
28.04.2021 18:36:45
Walter
Guten Abend,
ich möchte aus der fremden Datei die Userform öffnen, dazu habe ich folgende Makro zeilen:
Dim fd
Set fd = ActiveWorkbook
' Application.ScreenUpdating = False
Range("D5").Select
Workbooks.Open Filename:="C:\Werkstatt\Teile_für_C.xlsm"
fd.Activate
somit habe ich wieder meine Datei1 wieder auf der Oberfläche, bis dahin alles ok.
Jetzt möchte ich aber von der Datei2 =Teile_für_C.xlsm eine Userform öffnen
Userform: Teile_aus_C.Show
In der Datei2 habe ich auch dieses Makro um direkt aus der Datei2 die Userform zu öffnen:

Public Sub Teile_aus_C()
Teile_aus_C.Show
End Sub
klappt leider nicht.
gruß walter b
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform aus anderer Datei öffnen
28.04.2021 18:40:55
Beverly
Hi, versuche es mal nach diesem Prinzip:

Sub UF_AndereMappeStarten()
Dim objUserForm As Object
Set objUserForm = Application.Run("AndereMappe.xlsm!GetUserForm")
If Not objUserForm.Visible Then objUserForm.Show
Set objUserForm = Nothing
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Userform aus anderer Datei öffnen
28.04.2021 18:55:46
Walter
Hallo Karin,
leider Fehlermeldung, vielleicht habe ich was FALSCH gemacht ?

Public Sub UF_AndereMappeStarten()
Dim Teile_aus_C As Object
Set Teile_aus_C = Application.Run("Teile_für_C!GetTeile_aus_C.Show")
If Not Teile_aus_C.Visible Then Teile_aus_C.Show
Set Teile_aus_C = Nothing
End Sub
walter b
Anzeige
AW: Userform aus anderer Datei öffnen
28.04.2021 19:10:03
Beverly
Der Code gehört in die 1. Arbeitsmappe, aus der das UF gestartet werden soll. In der 2. Arbeitsmappe musst das UserForm so aufrufen:

Public Function GetUserForm() As Object
Set GetUserForm = UserForm1  '
Außerdem fehlt in deinem Code die Dateiendung .xlsm

GrußformelBeverly's Excel - Inn
Anzeige
Danke Karin
28.04.2021 19:15:45
Walter
Hallo Karin,
habe auch nochmal gegoogelt und was Gefunden und klappt, es greift auf das Makro in Datei2 zu:
Application.Run ("'Teile_für_C.xlsm'!Teile_aus_C")
schönen Abend noch !
mfg walter b
;
Anzeige
Anzeige

Infobox / Tutorial

Userform aus einer anderen Excel-Datei öffnen


Schritt-für-Schritt-Anleitung

Um eine Userform aus einer anderen Excel-Datei zu öffnen, befolge diese Schritte:

  1. Öffnen der Ziel-Datei: Stelle sicher, dass die Excel-Datei, die die Userform enthält, geöffnet ist. Du kannst dies mit folgendem Code erreichen:

    Workbooks.Open Filename:="C:\Werkstatt\Teile_für_C.xlsm"
  2. Userform aufrufen: Verwende den folgenden VBA-Code, um die Userform aus der anderen Datei zu öffnen:

    Public Sub UF_AndereMappeStarten()
        Dim objUserForm As Object
        Set objUserForm = Application.Run("'Teile_für_C.xlsm'!GetTeile_aus_C")
        If Not objUserForm.Visible Then objUserForm.Show
        Set objUserForm = Nothing
    End Sub
  3. Sicherstellen, dass die Funktion vorhanden ist: In der Datei, die die Userform enthält, solltest Du eine Funktion definieren:

    Public Function GetTeile_aus_C() As Object
        Set GetTeile_aus_C = Teile_aus_C  ' Teile_aus_C ist der Name Deiner Userform
    End Function

Häufige Fehler und Lösungen

  • Fehlermeldung beim Aufruf der Userform: Stelle sicher, dass der Name der Userform und der Excel-Datei korrekt sind. Achte auch darauf, dass die Dateiendung .xlsm in deinem Code enthalten ist.

  • Userform wird nicht angezeigt: Überprüfe, ob die Userform in der anderen Datei sichtbar ist. Wenn nicht, stelle sicher, dass Du den richtigen Befehl verwendest, um sie anzuzeigen.


Alternative Methoden

Eine alternative Methode, um eine Userform aus einer anderen Excel-Datei zu öffnen, ist die Verwendung der Application.Run-Methode:

Application.Run "'Teile_für_C.xlsm'!Teile_aus_C"

Diese Methode ruft die Userform direkt auf, ohne dass eine separate Funktion erforderlich ist.


Praktische Beispiele

Hier ein einfaches Beispiel, wie Du die Userform in einer Excel-Applikation öffnen kannst:

  1. In der Hauptarbeitsmappe:

    Sub UserFormÖffnen()
        Workbooks.Open Filename:="C:\Werkstatt\Teile_für_C.xlsm"
        Application.Run "'Teile_für_C.xlsm'!Teile_aus_C"
    End Sub
  2. In der Zielarbeitsmappe (Teile_für_C.xlsm):

    Public Function GetTeile_aus_C() As Object
        Set GetTeile_aus_C = Teile_aus_C  ' Userform
    End Function

Tipps für Profis

  • Debugging: Wenn der Code nicht funktioniert, setze Haltepunkte in deinem VBA-Code, um zu sehen, wo das Problem auftritt.

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass Dein Code auch bei unerwarteten Fehlern stabil bleibt.

  • Modularer Code: Halte Deinen Code modular, indem Du Funktionen schreibst, die spezifische Aufgaben übernehmen. Das erleichtert die Wartung und Wiederverwendbarkeit.


FAQ: Häufige Fragen

1. Kann ich mehrere Userforms aus verschiedenen Excel-Dateien öffnen?
Ja, das ist möglich. Du kannst einfach mehrere Application.Run-Befehle für die jeweiligen Userforms in Deinem VBA-Skript einfügen.

2. Muss die andere Excel-Datei geöffnet sein, um die Userform anzuzeigen?
Ja, die andere Excel-Datei, die die Userform enthält, muss geöffnet sein, bevor Du die Userform aufrufst.

3. Welche Excel-Version benötige ich für diese Methoden?
Diese Methoden sind in den meisten modernen Excel-Versionen (Excel 2010 und höher) verfügbar, darunter auch Excel 365.

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