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

Userform importieren

Forumthread: Userform importieren

Userform importieren
09.01.2004 10:52:31
Harry
Hallo Leute,
habe folgendes problem:
ich möchte mit einem autoopen makro beim öffnen einer exceldatei eine userform, die (inkl. code) auf der festplatte gespeichert ist, importieren, damit arbeiten und beim schließen der datei wieder löschen.
kann mir da jemand auf die sprünge helfen?
danke im vorraus,
Harry
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Userform importieren
09.01.2004 11:13:02
Andreas
Hallo Harry,
zuerst musst du unter Verweise "Microsoft Visual Basic for Applicaions Extensibility 5.3" aktivieren.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.VBE.ActiveVBProject.VBComponents.Remove ("frmUserForm1")
End Sub


Private Sub Workbook_Open()
Dim x As VBComponent
Set x = _
Application.VBE.ActiveVBProject.VBComponents.Import(strFile)
End Sub

Ich hoffe, dass hilft Dir weiter
Viele Gruesse
Andreas
Anzeige
AW: Userform importieren
09.01.2004 11:25:31
Harry
vielen dank, damit kann ich super weiterarbeiten !!!
liebe grüße,
harry
;
Anzeige

Infobox / Tutorial

Userform in Excel importieren


Schritt-für-Schritt-Anleitung

Um eine Userform in Excel zu importieren, während du eine Arbeitsmappe öffnest, kannst du folgende Schritte befolgen:

  1. Verweise aktivieren:

    • Öffne den VBA-Editor mit ALT + F11.
    • Gehe zu Extras > Verweise.
    • Aktiviere "Microsoft Visual Basic for Applications Extensibility 5.3".
  2. Makros erstellen:

    • Füge im "Diese Arbeitsmappe"-Modul den folgenden Code ein:
    Private Sub Workbook_Open()
       Dim x As VBComponent
       Dim strFile As String
       strFile = "C:\Pfad\zu\deiner\Userform.frm" ' Hier den Pfad anpassen
       Set x = Application.VBE.ActiveVBProject.VBComponents.Import(strFile)
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Application.VBE.ActiveVBProject.VBComponents.Remove ("frmUserForm1")
    End Sub
  3. Datei speichern:

    • Speichere die Arbeitsmappe als "Excel-Makro-fähige Arbeitsmappe" (*.xlsm).
  4. Testen:

    • Schließe die Arbeitsmappe und öffne sie erneut, um die Userform zu laden.

Häufige Fehler und Lösungen

  • Fehlermeldung beim Importieren: Stelle sicher, dass der Pfad zur Userform korrekt ist. Prüfe auch, ob die Datei die richtige Erweiterung hat.

  • Userform wird nicht gelöscht: Überprüfe, ob der Name der Userform im Remove-Befehl korrekt ist. Der Name muss mit dem Namen der Userform in deiner Datei übereinstimmen.


Alternative Methoden

Falls du keine Userform importieren möchtest, kannst du auch eine Userform direkt im VBA-Editor erstellen und anpassen. Dazu gehst du wie folgt vor:

  1. Klicke im VBA-Editor mit der rechten Maustaste auf das Projekt und wähle Einfügen > UserForm.
  2. Füge Steuerelemente hinzu und passe das Design an.

Praktische Beispiele

Ein Beispiel für ein einfaches Makro, das eine Userform importiert, könnte so aussehen:

Private Sub Workbook_Open()
    Dim x As VBComponent
    Dim strFile As String
    strFile = "C:\Users\DeinBenutzername\Documents\Userform1.frm" ' Beispieldateipfad
    Set x = Application.VBE.ActiveVBProject.VBComponents.Import(strFile)
End Sub

Hierbei wird die Userform "Userform1" importiert. Stelle sicher, dass der Dateipfad und der Dateiname korrekt sind.


Tipps für Profis

  • Code modularisieren: Halte deinen Code sauber, indem du den Import und das Löschen der Userform in separate Subroutinen auslagerst.

  • Fehlerbehandlung einfügen: Implementiere eine Fehlerbehandlung, um Probleme beim Importieren der Userform besser zu handhaben. Verwende dazu On Error GoTo.


FAQ: Häufige Fragen

1. Kann ich mehrere Userforms gleichzeitig importieren?
Ja, du kannst mehrere Import-Befehle hintereinander ausführen, um mehrere Userforms zu laden.

2. Was passiert, wenn ich die Datei ohne zu speichern schließe?
Wenn du die Datei ohne zu speichern schließt, wird die importierte Userform nicht gelöscht, da der Workbook_BeforeClose-Code nicht ausgeführt wird. Stelle sicher, dass du die Datei speicherst, bevor du sie schließt.

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