Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform lässt sich nicht öffnen

Userform lässt sich nicht öffnen
16.08.2017 19:23:16
Sigi
Hallo zusammen,
ich habe wieder ein Problem.
Ich habe eine Userform geschrieben, in der verschiedene Tabellen durchsucht werden und das Ergebnis als range-variable Endergebnis definiert.
jetzt möchte ich wenn endergebnis aus Tabelle1 stammt eine Userform öffnen.
Leider geht das mit folgenden Code nicht...
If Endergebnis.Parent.Name = "Tabelle1" Then UF_1.Show
Es heißt Fehler objekt erforderlich und UF_1.Show wird markiert.
Die Name der Userform und der Tabelle müsste stimmen, an was könnte es sonst liegen?
Gruß Sigi
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform lässt sich nicht öffnen
16.08.2017 19:24:48
Hajo_Zi
Halo Sigi,
die UserForm hat nicht den Namen.
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Userform lässt sich nicht öffnen
16.08.2017 19:54:09
Sigi
Hallo Hajo,
ich habe etwas herumprobiert und festgestellt, dass die userform aufgrund folgendem code in der zu öffnenden userform nicht geöffnet wird:
Private Sub UserForm_Initialize()
Label1.Caption = findKST.Text
End Sub
wahrscheilich ist er fehlerhaft,
in label1 soll ein wert, der in der vorherigen userform definiert wurde übernommen werden.
reicht es dabei nicht diese variable als option explicit zu definieren?
Gruß Sigi
Anzeige
AW: Userform lässt sich nicht öffnen
17.08.2017 16:20:34
Hajo_Zi
Hallo Sigi,
Option Explicit bedeutet nur das Variablen definiert werden müssen.
Man könnte vermuten die Variable ist nicht mit Public definiert.
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Gruß Hajo
Anzeige
AW: Userform lässt sich nicht öffnen
17.08.2017 21:15:31
Sigi
Hallo Hajo
vielen Dank für die Antwort, das Problem hat sich erledigt.
ich hatte die Variable nicht als public im Standartmodul declariert.
Gruß Sigi
AW: Userform lässt sich nicht öffnen
16.08.2017 19:32:45
Nepumuk
Hallo Sigi,
wähle im VBA-Editor unter Extras - Optionen - Allgemein - Unterbrechen bei Fehlern - die Option "In Klassenmodul". Dann erzeuge den Fehler und lass mich wissen welche Zeile der Debugger markiert. Zeig mir das komplette Makro, dann sehen wir weiter.
Gruß
Nepumuk
Anzeige
AW: Userform lässt sich nicht öffnen
16.08.2017 21:08:22
Sigi
Hallo Nepumuk,
Danke für die Antwort. Ich habe es herausgefunden: sie lässt sich nicht öffnen weil eine variable anscheinend nicht definiert ist.
Folgender Sachverhalt: Ich habe in einer Userform ein Rangeobjekt Endergebnis definiert. Dies soll nun in einer neues userform verwendet werden.
wie muss ich Endergebnis dann definieren? mit public oder sowas, hat bis jetzt nichts funktioniert.
Gruß sigi
Anzeige
AW: Userform lässt sich nicht öffnen
17.08.2017 10:30:02
Nepumuk
Hallo Sigi,
Public ist schon richtig, aber nicht im Modul des Userforms sondern in einem Standardmodul.
Gruß
Nepumuk
;

Forumthreads zu verwandten Themen

Anzeige
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 in Excel: Probleme beim Öffnen und deren Lösungen


Schritt-für-Schritt-Anleitung

  1. Überprüfe die Namen: Stelle sicher, dass die Userform und die Tabelle die richtigen Namen haben. Überprüfe, ob der Code If Endergebnis.Parent.Name = "Tabelle1" Then UF_1.Show korrekt ist.

  2. Variable als Public deklarieren: Wenn Du eine Variable in einer Userform verwenden möchtest, muss sie in einem Standardmodul als Public deklariert werden. Beispiel:

    Public Endergebnis As Range
  3. Initialisierung der Userform: Achte darauf, dass die Initialisierung der Userform korrekt ist. Vermeide Fehler wie:

    Private Sub UserForm_Initialize()
       Label1.Caption = findKST.Text
    End Sub

    Stelle sicher, dass findKST korrekt definiert ist.

  4. Fehlerbehandlung aktivieren: Wähle im VBA-Editor unter Extras -> Optionen -> Allgemein die Option "In Klassenmodul" bei "Unterbrechen bei Fehlern". Dies hilft, genau zu sehen, wo der Fehler auftritt.

  5. Testen: Führe den Code aus und beobachte, an welcher Stelle der Fehler auftritt.


Häufige Fehler und Lösungen

  • Fehler: Objekt erforderlich: Dieser Fehler tritt auf, wenn Du versuchst, eine Eigenschaft oder Methode auf ein nicht definiertes Objekt anzuwenden. Überprüfe den Namen der Userform und die Referenzen.

  • Variable nicht definiert: Stelle sicher, dass alle Variablen, die in verschiedenen Userforms verwendet werden, als Public deklariert sind. Ansonsten sind sie nur innerhalb der jeweiligen Userform sichtbar.

  • Label nicht aktualisiert: Wenn ein Label in der Userform nicht den erwarteten Wert anzeigt, überprüfe, ob die Quelle des Wertes korrekt definiert ist.


Alternative Methoden

  • Benutze ein Modul für die Variable: Statt die Variable in der Userform zu definieren, kannst Du sie in einem Standardmodul deklarieren. Dies sorgt dafür, dass die Variable global zugänglich ist.

  • Fehlersuche mit Debugging: Nutze die Debugging-Tools in VBA, um den Code schrittweise auszuführen und zu überprüfen, wo der Fehler auftritt.


Praktische Beispiele

  1. Userform-Öffnen basierend auf einer Bedingung:

    If Endergebnis.Parent.Name = "Tabelle1" Then 
       UF_1.Show
    End If
  2. Öffnen einer Userform mit einer Initialisierung:

    Private Sub UserForm_Initialize()
       Label1.Caption = Endergebnis.Address
    End Sub

Tipps für Profis

  • Option Explicit nutzen: Setze Option Explicit am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, viele Fehler zu vermeiden.

  • Code modularisieren: Halte Deinen Code in Modulen organisiert, um die Lesbarkeit und Wartbarkeit zu erhöhen.

  • Regelmäßige Backups: Mache regelmäßige Backups Deiner Excel-Dateien, insbesondere wenn Du mit Userforms arbeitest, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Warum kann ich meine Userform nicht öffnen? Es kann mehrere Gründe geben, darunter falsche Variablendeklarationen oder Probleme mit dem Code in der Userform. Überprüfe die Namen und die Sichtbarkeit der Variablen.

2. Wo sollte ich meine Variablen deklarieren? Wenn Du Variablen in mehreren Userforms verwenden möchtest, deklariere sie in einem Standardmodul als Public. Dadurch sind sie für alle Userforms zugänglich.

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