Externe Userform - Zugriff aus Sheet-Prozedur

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Externe Userform - Zugriff aus Sheet-Prozedur
von: teo
Geschrieben am: 10.12.2003 19:10:10

Hallo,

ich habe hier folgendes problem;

ich habe mit eine Mustervorlage "Rechnungen" angelegt, aus der automatisierte
Zugriffe auf eine weitere Arbeitsmappe "Artikel" erfolgen.

Um hier Artikel auszuwählen, enthält das Arbeitsmappe "Rechnungen" die Userform "FRMGetArtikel".

Funktioniert alles prima.

Nach Fertigstellung der Rechnung kopiere ich das Tabellenblatt "Rechnungen" in eine andere Arbeitsmappe, in der Bestellungen, Kundendaten usw. enthalten sind.

Hierbei wird jedoch die Userform "FRMGetArtikel" nicht mitkopiert.

Wenn ich jetzt das Tabellenblatt "Rechnungen" aufrufe, erscheint ein Fehler "Objekt nicht gefunden" (Logisch, da die Userform nicht mehr da ist).

Der Code des Tabellenblattes "Rechnungen" befindet sich übrigens nicht in einem Modul (das wird ja auch nicht mitkopiert), sondern direkt in dem Tabellenblatt.

Nun lagere ich einfach die Userform "FRMGetArtikel" in die Definitionsmappe "DEF.xls" aus.

Jetzt kommt meine Frage;

Wie kann ich nun von dem Tabellenblatt "Rechnungen" auf die Userform zugreifen?

Der Alte Code lautete
Ergebniss = FRMGetArtikel.Starte_Dialog

Der Versuch, über
Ergebniss = Workbooks("DEF.xls").FRMGetArtikel.Starte_Dialog
funktioniert nicht, es erscheint "Objekt unterstützt diese Eigenschaft/Methode nicht"

für schnelle hilfe wäre ich sehr dankbar

gruß
teo

Bild


Betrifft: AW: Externe Userform - Zugriff aus Sheet-Prozedur
von: Nepumuk
Geschrieben am: 11.12.2003 20:52:55

Hallo Teo,
ich kenne eigentlich alle Methoden und Eigenschaften von Userform. Aber "Starte_Dialog" ist mir völlig unbekannt. Wie rufst du das Formular denn ursprünglich auf?
Gruß
Nepumuk


Bild


Betrifft: AW: Externe Userform - Zugriff aus Sheet-Prozedur
von: teo
Geschrieben am: 15.12.2003 11:35:28

hi nepumuk

Die Funktion "Starte_Dialog" befindet sich im Userform- Codeteil, sorry, das war jetzt verwirrend.

Public Funct. Starte_Dialog() As Integer
xFlag = False
Sheets("DEF.xls").FRMGetArtikel.Show
If xFlag Then
Starte_Dialog = Artikelliste.ListIndex
Else
Starte_Dialog = -1
End If
End Function

Im Prinzip geht es jedoch darum, die Userform, die sich in meiner "DEF.xls" befindet,
von einer Prozedur aus aufzurufen, die sich in einer anderen Sheet befindet.

gruß
teo


Bild


Betrifft: AW: Externe Userform - Zugriff aus Sheet-Prozedur
von: Nepumuk
Geschrieben am: 15.12.2003 16:45:40

Hallo teo,
dann sollte es so funktionieren:

Ergebniss = Application.Run("DEF.xls!Starte_Dialog")

Gruß
Nepumuk


Bild

Beiträge aus den Excel-Beispielen zum Thema " Externe Userform - Zugriff aus Sheet-Prozedur"