Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform aus Datei1 über Datei2 aufrufen

Userform aus Datei1 über Datei2 aufrufen
19.02.2017 14:23:25
Edwin
Hallo,
Mein Code hat einen kleinen Schönheitsfehler.
Muss das sein?
Ich habe ein Formular, das ich normalerweise in Datei1 verwende.
Jetzt muss ich aber dasselbe Formular auch in Datei2 verwenden.
Mein Code funktioniert soweit.
In Datei1 habe ich eine Prozedur erstellt, die den Formularaufruf enthält.
In Datei2 rufe ich diese Prozedur mit Application.Run "Datei1.xlsm!Prozedur" auf.
Vorher muss ich Datei1 aber aktivieren.
Workbooks("Datei1.xlsm").Sheets("Sheet1").Activate
Nach meinem Formularaufruf wieder zurück mit
Workbooks("Datei2.xlsm").Sheets("Sheet1").Activate
Das hin und her gehopse zwischen Datei1 und Datei2 möchte ich vermeiden.
Geht das?
LG
Edwin

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 14:26:22
Hajo_Zi
Hallo Edwin,
warum muss aktiviert werden? Das musst Du jemand Fragen der neben Dir sitzt, der sieht die Dateien.
ich würde vermuten der Befehl
Workbooks("Datei1.xlsm").Sheets("Sheet1").Activate
führt zu einem Fehler falls Datei2 aktiv.

AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 14:33:51
Edwin
Hallo Hajo,
ja klar ist Datei2 aktiv und deshalb kam es auch zum Fehler.
Erst als ich Datei1 im Zwischenschritt aktiv gemacht habe, konnte ich die Fehlermeldung umgehen.
LG
Edwin
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 14:56:57
onur
Hi Edwin,
Was spricht denn eigentlich dagegen, das Formular einfach auf Datei2 zu kopieren?
Gruß
Onur
Anzeige
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 15:01:38
Edwin
Hallo Onur,
weil man so etwas tunlichst unterlassen sollte.
Wenn man Änderungen am Formular oder am Code im Formular vornimmt, dann muss man dies immer zweimal machen und dann entstehen erst richtig Fehler.
LG
Edwin
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 15:27:16
onur
Hi Edwin,
Man könnte die Userform per VBA kopieren und löschen lassen, sobald man die datei wieder schliesst.
Dann wären deine einwände hinfällig.
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 15:31:00
Edwin
Hallo Onur,
oh, das hört sich gut an.
Habe ich allerdings noch nie gemacht.
Wie geht das?
LG
Edwin
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 17:01:19
onur
Das kopiert dir deine Userform (im Beispiel "Materialmenue") in die andere Datei:
Das z.B. einem button zuordnen oder beim starten der zieldatei ausführen lassen
Sub Schaltfläche2_Klicken()
Dim obj
Windows("Mappe2.xlsm").Activate' Hier Quelldatei einsetzen
Dim strFileName As String
strFileName = "exp" & ".bas"
ActiveWorkbook.VBProject.VBComponents("Materialmenue").Export strFileName'Hier        _
Userformname eingeben
Windows("Mappe1.xlsm").Activate'Hier Zieldatei einsetzen
ActiveWorkbook.VBProject.VBComponents.Import strFileName
Kill strFileName
End Sub

Und hier wird sie wieder gelöscht (In die Zieldatei kopieren):
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim VBComp
Set VBComp = ThisWorkbook.VBProject.VBComponents("Materialmenue")
ThisWorkbook.VBProject.VBComponents.Remove VBComp
End Sub

Anzeige
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 17:16:29
onur
Wenn du auch noch willst, dass die quelldatei gar nicht geöffnet werden muss, einfach die quelldatei durch die erste hälfte des 1. makros (z,B. beim starten der zieldatei) die userform in ein best. Verzeichnis exportieren lassen und durch die 2. Hälfte in der zieldatei wieder auslesen (natürlich Kill .... weglassen).
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 17:16:44
Werner
Hallo Edwin,
zum Beispiel so:

Die Datei https://www.herber.de/bbs/user/Datei_mit_Userform.xlsm wurde aus Datenschutzgründen gelöscht


Die Datei https://www.herber.de/bbs/user/Datei2.xlsm wurde aus Datenschutzgründen gelöscht


Wenn beide Dateien geöffnet sind kannst du von beiden Dateien aus die Userform öffnen. Wenn nur Datei2 geöffnet ist, wird (sofern sich beide Dateien im gleichen Verzeichnis befinden) zunächst die Datei mit der Userform geöffnet.
Gruß Werner
Anzeige
AW: Userform aus Datei1 über Datei2 aufrufen
19.02.2017 14:43:28
Edwin
Hallo Hajo,
zur Verdeutlichung.
Ich klicke in Datei2 in eine Zeile und übernehme aus dieser Zeile meine Daten in das Formular.
Hierzu muss ich doch Datei2 aktivieren.
LG
Edwin
wie wäre es mit Feedback? o.w.T.
25.02.2017 12:33:39
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige