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

Forumthread: UserForm ins Tabellenblatt einbinden

UserForm ins Tabellenblatt einbinden
03.06.2016 09:34:01
Marco
Morgen alle zusammen, ich habe mal wieder eine Frage an euch. Und zwar würde ich gerne meinem UserForm beim öffnen der Excel Datei einen festen Platz im Tabellenblatt zuweisen. Es sollte aber nicht wie jetzt im Vordergrund stehen sondern wie eine Dropdownliste fest im Tabellenblatt verankert sein so das ich mit dem Rest der Tabelle normal weiter arbeiten kann und nicht erst das UserForm schließen muss.
Ich hoffe das geht überhaupt so wie ich es meine.
Aktuell steht halt da:
Private Sub Workbook_Open()
UserForm.Show
End Sub

Und Im betreffenden Tabellenblatt steht:
Private Sub Worksheet_Activate()
UserForm4.Show
End Sub
Vg Marco

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm ins Tabellenblatt einbinden
03.06.2016 09:50:24
Marco
Kleiner Nachtrag:
Das UserForm sollte verankert sein und ich möchte gerne im Tabellenblatt wie auch mit dem offenem UserForm gleichzeitig arbeiten können ohne es schließen zu müssen. Funktioniert so was?
Vg Marco

AW: UserForm ins Tabellenblatt einbinden
03.06.2016 09:57:52
Rudi
Hallo,
z.B.
Private Sub Worksheet_Activate()
With UserForm1
.StartUpPosition = 0
.Top = 150
.Left = 20
.Show vbModeless
End With
End Sub
Gruß
Rudi

Anzeige
AW: UserForm ins Tabellenblatt einbinden
03.06.2016 10:11:11
Marco
Danke Rudi aber bei mir tut sich da gar nichts hm was mach ich denn nur falsch. Ich habe deinen Code in die Arbeitsmappe und auch einmal in das betroffene Tabellenblatt kopiert aber nichts tut sich?
Vg Marco

AW: UserForm ins Tabellenblatt einbinden
03.06.2016 12:40:43
Rudi
Hallo,
lad die Mappe mal hoch.
Bei mir geht's.
Gruß
Rudi

Anzeige
AW: UserForm ins Tabellenblatt einbinden
03.06.2016 13:05:19
Marco
Okay Rudi dann mach ich das mal hier bitte
https://www.herber.de/bbs/user/105959.xlsm
Das UserForm sollte immer da sein und fest im Tabellenblatt sein aber nur auf dem ersten erscheinen nicht auf den anderen. Bei mir ist mal da und dann wieder weg =/
Vg Marco

Anzeige
AW: UserForm ins Tabellenblatt einbinden
03.06.2016 13:18:42
Rudi
.startupposition hast du nicht auf 0 gesetzt.
Dann haben top und left keine Auswirkung

AW: UserForm ins Tabellenblatt einbinden
03.06.2016 13:24:00
Marco
Rudi bei mir ändert sich da trotzdem nichts

AW: UserForm ins Tabellenblatt einbinden
03.06.2016 14:53:39
Marco
Rudi es funktioniert nur eingeschränkt. Das UserForm erscheint erst am richtigen Ort wenn ich von einem Tabellenblatt zum anderen Wechsel. Und es ist nicht fest verankert. Wenn ich es anklicke kann ich es ja verschieben =/. Es sollte so sein wie hier. Das Textfenster im Forum hat auch einen festen unveränderlichen eingebundenen Platz. Geht das denn?
Grüße Marco
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

UserForm ins Tabellenblatt einbinden


Schritt-für-Schritt-Anleitung

Um dein UserForm im Tabellenblatt einzubinden und gleichzeitig die Möglichkeit zu haben, mit der Tabelle weiterzuarbeiten, kannst du die folgenden Schritte befolgen:

  1. Öffne deinen VBA-Editor (Alt + F11).

  2. Füge ein UserForm hinzu, falls du das noch nicht gemacht hast.

  3. Füge den folgenden Code in das Modul "DieseArbeitsmappe" ein:

    Private Sub Workbook_Open()
        UserForm1.Show vbModeless
    End Sub
  4. Füge diesen Code in das Modul des entsprechenden Tabellenblatts ein:

    Private Sub Worksheet_Activate()
        With UserForm1
            .StartUpPosition = 0
            .Top = 150
            .Left = 20
            .Show vbModeless
        End With
    End Sub
  5. Testen: Speichere deine Arbeit und öffne die Excel-Datei erneut, um zu sehen, ob das UserForm wie gewünscht angezeigt wird.


Häufige Fehler und Lösungen

  • Fehler: Das UserForm erscheint nicht an der richtigen Stelle.

    • Lösung: Stelle sicher, dass .StartUpPosition auf 0 gesetzt ist. Ansonsten hat der Code keine Auswirkung auf .Top und .Left.
  • Fehler: Das UserForm kann verschoben werden.

    • Lösung: Um das UserForm zu "verankern", kannst du die Eigenschaft vbModeless verwenden. Das UserForm bleibt dann geöffnet, erlaubt aber das Arbeiten mit dem Tabellenblatt.

Alternative Methoden

Falls das oben genannte Vorgehen nicht deinen Anforderungen entspricht, kannst du auch die folgende Methode ausprobieren:

  • Verwendung von ActiveX-Steuerelementen: Du kannst ein ActiveX-Steuerelement (z.B. ein Kombinationsfeld) direkt auf dem Tabellenblatt platzieren. Dieses kann dann mit VBA so programmiert werden, dass es die gleiche Funktionalität wie ein UserForm bietet, ohne dass ein separater Dialog geöffnet werden muss.

Praktische Beispiele

Hier ist ein Beispiel, wie du das UserForm in einer bestimmten Position im Tabellenblatt anzeigen kannst:

Private Sub Worksheet_Activate()
    With UserForm1
        .StartUpPosition = 0
        .Top = Application.Top + 100
        .Left = Application.Left + 50
        .Show vbModeless
    End With
End Sub

Mit diesem Code wird das UserForm immer 100 Pixel unter dem oberen Rand und 50 Pixel vom linken Rand des Bildschirms angezeigt.


Tipps für Profis

  • Testen in verschiedenen Excel-Versionen: Achte darauf, dass dein Code in verschiedenen Excel-Versionen funktioniert, insbesondere wenn du mit anderen Benutzern zusammenarbeitest.
  • Verwendung von UserForm1: Stelle sicher, dass der Name deines UserForms korrekt ist und anstelle von UserForm1 wird der tatsächliche Name verwendet.
  • Fehlerprotokollierung: Implementiere eine einfache Fehlerprotokollierung, um problematische Stellen im Code zu identifizieren.

FAQ: Häufige Fragen

1. Warum erscheint das UserForm nicht, wenn ich die Excel-Datei öffne?
Überprüfe, ob der Code im Modul "DieseArbeitsmappe" korrekt eingefügt wurde und ob die Makros in deiner Excel-Version aktiviert sind.

2. Kann ich mehrere UserForms gleichzeitig öffnen?
Ja, du kannst mehrere UserForms öffnen, solange du sie mit vbModeless zeigst. Beachte jedoch die Benutzerfreundlichkeit, da zu viele offene Fenster verwirrend sein können.

3. Wie kann ich das UserForm schließen, ohne die Excel-Datei zu schließen?
Füge einen Schließen-Button im UserForm ein, der den Befehl Unload Me ausführt, um das UserForm zu schließen.

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