Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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

Einbinden eines Userforms in Exceldateien - Externe Ablage?

Einbinden eines Userforms in Exceldateien - Externe Ablage?
21.02.2024 09:54:03
Klabauter
Guten Morgen,

leider hat meine Recherche bis jetzt keine Ergebnisse gezeigt.
Ich habe eine Userform zur Dateneingabe auf mehreren Tabellenblättern erzeugt. Das funktioniert soweit mit allen
Rafinessen hervoragend.

Nun zu meiner Frage, bzw meiner Problembeschreibung.

Diese Userform wird in ca. 40 bis 50 Exceldateien benutzt.
Im Moment habe ich die Userform in allen Exceldateien eingebaut. Nun ist es aber so, das dort unter Umständen Anpassungen an dem Userform, bzw der
Programmierung dahinter erfolgen müssen.

Gibt es eine Möglichkeit die Userform zum Beispiel exportiert als .frm auf ein zugängliches Laufwerk zu legen und diese dann in den einzelnen Excel-Dateien
beim laden des Dokuments in das Dokument zu "importieren" und zu starten?

Ich bin ratloas, suche abere eine Lösung wie man bei Änderungen nicht immer alle einzelnen Dateien mit dem neuen Code versehen muss.

Vielen Dank schon mal falls jemand eine Idee zu meinem Problem hat.

Gruß

Klabauter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
21.02.2024 15:46:30
schauan
Hallöchen,

trenne Datenhaltung und Programm weitgehend oder komplett.
Du könntest z.B. über die Programmdatei auch die Datendatei öffnen und dort was immer auch anstellen. Man kann da "einfache" Makrodateien wie xlsm bzw. xlsb verwenden oder auch Addins - wobei man diese wie eine Makrodatei öffnen oder aber auch installieren kann.
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
22.02.2024 05:06:11
Oberschlumpf
Hi,

du könntest uns ja auch mal 3 Bsp-Dateien zeigen, die sowohl genügend Bsp-Daten in den richtigen Zellen als auch jede Datei für sich ein Userform mit allen Controls enthält, wobei aber eben die Userforms alle unterschiedlich sein sollten.

Denn mit Bsp-Dateien könnten wir ja viel besser testen, als dass wir ohne Dateien nur weiterraten könnten.

Noch ein paar Wörter zu deiner Import-Idee:

Das ist zwar mit VBA möglich, aber es ist erforderlich, den VBA-Schutz mehr oder weniger aufzulockern - siehe hier
https://administrator.de/forum/exportierte-userform-frm-liegt-auf-ordner-per-vba-aufrufen-664936.html

Und bei 40-50 Unternehmens-Dateien halte ich das für eine nicht so gute Idee.

Damit du die Option "Zugriff auf das VBA-Projektobjektmodell vertrauen" - nicht! - aktivieren musst, gäbe es noch diese Möglichkeit (da müsstest du aber 40-50 Dateien anpassen):

1. Erstell im VBE nur 1 Userform(ular) ganz ohne Controls...oder...nur die Controls im VBE hinzufügen, die in jedem Userform enthalten sind.
2. Nun fügst du per VBA-Code jedes gewünschte Control hinzu, z Bsp so:



Sub test()
Set Bttn = Userform1.Controls.Add("Forms.CommandButton.1")
With Bttn
.Name = "controlname"
.Height = 65
.Width = 90
.Left = 0
.Top = 0
.Caption = "Anzeigetext"
End With
End Sub


Dieses Beispiel erzeugt im Userform1 einen CommandButton oben links in der Ecke.
Und das machst du mit allen anderen Controls.

Anstelle die jeweiligen Werte fix in den Code zu schreiben, schreibst du die Werte in txt-Dateien = so erreichst du die Flexibilität für Userforms, wie du es dir wünschst.

Nachteil: Es ist ein riesen Programmieraufwand!
Ach so, und auch Klassenprogrammierung wäre erforderlich, weil es ja keine Klick- und sonstige Control-Ereignisse im Code gibt.

Je mehr ich hier schreibe, desto weniger gefällt mir meine Idee für dich.
Ich glaub, am besten ist die schon genannte Idee, AddIns zu verwenden.

Aber nix desto trotz: ohne Bsp-Dateien von dir = nur Weiterraten von uns möglich

Ciao
Thorsten
Anzeige
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
22.02.2024 08:32:22
schauan
Hallöchen,

im verlinkten Beitrag wird der Import ja schon erklärt. Wichtig wäre auch, vorab das existierende UF zu entfernen. Also im Prinzip so

                Dim oldModule, newModulName$, filePath$

Set oldModule = ThisWorkbook.VBProject.VBComponents( _
newModulename)
oldModule.name = newModulename & "_old"
ThisWorkbook.VBProject.VBComponents.Import filePath
ThisWorkbook.VBProject.VBComponents.Remove oldModule


Wobei Du die beiden Stringvariablen auch als Konstanze &#128105 definieren und gleich befüllen kannst.
Anzeige
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
22.02.2024 08:49:04
schauan
... Du kannst die Namen natürlich auch glich ohne Variablen oder Konstanten fest codieren. Eventuell baust Du noch eine Fehlerbehandlung ein. Zudem würde ich auch, um sinnlose Importe zu vermeiden, davor eine Versionskontrolle einbauen - falls die Datei vom Anwender gespeichert wird. Teste auch, ob Dein Projekt nach dem Import gleich läuft.
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
23.02.2024 14:03:18
Klabauter
Hallo,

ich glaube das ist es was ich brauche.
Ich teste das in der nächsten Woche mal durch.

Zu der Frage nach den beispieldatein, das ist völlig egal, die Frage bezieht sich nicht auf inhalte der Dateien, es geht darum
ineine Exceldatei ein Userform zu importieren wenn die Datei geöffnet wird.

Das USerform habe ich fertig und es läuft einwandfrei. Alle Datein haben das Form jetuz ja schon in der Datei gespeichert,
das ist aber extrem ungünstig, wenn ich da was an dem Form ändere und dann alle Dateien wieder anfassen muss um die
Userform neu einzuspielen von Hand.

Wie gesagt ih teste das hier von Achauan mal durch und berichte von meinen Egebnissen

Gruß und Danke

Klabauter
Anzeige
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
23.02.2024 16:27:12
Oberschlumpf
Hi,

"...Zu der Frage nach den beispieldatein, das ist völlig egal, die Frage bezieht sich nicht auf inhalte der Dateien, es geht darum
ineine Exceldatei ein Userform zu importieren wenn die Datei geöffnet wird...."


Hmm, du hast in Excel-VBA nur Basiskenntnisse, "willst" mir aber erklären, was wichtig ist und was nicht.
Natürlich weiß auch ich, dass es bei deiner Frage - nicht - um den Inhalt von Zellen geht - aber! -

...keiner von uns weiß, wie genau deine Userforms aufgebaut sind!
...deswegen macht es auch keinen Sinn, wenn wir "für uns" Bsp-Dateien erstellen...weil...wie genau sind noch mal deine Userforms aufgebaut?????
...und MIT Dateien kann man nun mal besser testen als ohne Dateien!

Aber ok, DU SCHAFFST DAS SCHON!!!

Ich hab leider zu wenig Ahnung, ich kann nich weiter helfen.

Ciao
Thorsten

Anzeige
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
22.02.2024 16:06:23
Oberschlumpf
...ob aber die Kombination, wie hier vorliegend, aus...
"Zugriff auf das VBA-Projektobjektmodell vertrauen" und Zugriff auf viele Dateien in einem Unternehmen und Basiskenntnisse in VBA
...wirklich empfehlenswert ist, glaube zumindest ich nicht so
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
22.02.2024 17:21:38
schauan
... neben eigenem Verantwortungsbewusstsein ist es eigentlich Sache der IT, kritische Möglichkeiten einzuschränken. In manchen, insbesondere recht großen Firmen ist es üblich, dass man jegliche Entwicklungen, die den eigenen PC und die eigene Nutzung übersteigen, einem Systemausschuss vorlegen muss. Das beinhaltet dann z.B. auch Aufzeigen von Risiken und Notfallstrategien.
Zuweilen werden auch Eigenentwicklungen ausgeschlossen, z.B. um sich wg. Lauffähigkeit und Support nicht vom Entwickler abhängig zu machen. Zuweilen werden 1-Mann-Firmen ausgeschlossen, da auch in dem Fall Lauffähigkeit und Support kritisch zu bewerten wäre - was auch auf den 1Mann-Entwickler in eigenen Reihen entspräche ...
Zum Glück dürfen oder tun aber noch viele selbst was entwickeln - ich glaub, die Foren leben zu 2/3 davon &#128203
Anzeige
AW: Einbinden eines Userforms in Exceldateien - Externe Ablage?
21.02.2024 21:31:39
Klabauter
Danke Schauan,

das komplette abtrennen geht so nicht. Die Exceldateien liegen in einem DMS und die Userform soll aus dem Exceldokument abgerufen werden.
Deshalb die Frage ob ich die Userform eportieren kann in ein .frm und dann in en Exeldateien diese .frm aufrufen kann, also so als wenn ich sie
von hand in die Datei importieren würde, halt nur immer beim öffnen der Exceldatei.

Dann kann ich an einem zentralen Ort die Userform mit Code pflegen und die Exceldateien würden dann die aktuelel Versio immer beim öffnen mutzen.

Gruß

Klabauter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige