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

Userform bei leerer Liste nicht anzeigen sond. Msg

Userform bei leerer Liste nicht anzeigen sond. Msg
24.10.2018 11:15:46
Oisse
Hallo Zusammen,
ich habe eine Userform, deren Listbox mit Einträgen gefüllt wird. Nun kann es aber auch vorkommen, dass in der Liste keine Einträge sind.
Wie bitte schaffe ich es, dass dann die Userform gar nicht erst angezeigt wird, sondern nur die MsgBox kommt?
Danke für die Hilfe
Gruß Oisse

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform bei leerer Liste nicht anzeigen sond. Msg
24.10.2018 11:20:17
Hajo_Zi

Option Explicit
Private Sub UserForm_Activate()
If ListBox1.ListIndex 

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Userform bei leerer Liste nicht anzeigen sond. Msg
24.10.2018 11:41:42
Daniel
Hi
wie wird denn die Userform gestartet und kommen die Einträge in die Listbox?
du müsstest also in dem Makro, mit welchem die userform gestartet wird, zuerst mal überprüfen, ob in der Datenquelle für die Listbox Zeilen vorhanden sind, die in die Listbox kommen.
wenn ja, Userform starten und Listbox füllen.
wenn nein, Msgbox ausgeben.
Gruß Daniel
Anzeige
AW: Userform bei leerer Liste nicht anzeigen sond. Msg
24.10.2018 22:15:31
Oisse
Hallo Hajo und Daniel,
und danke für eure Antworten. Ich denke, ich hab was wichtiges vergessen. Die Daten werden beim initialisieren eingelesen und die Listbox gefüllt. Gestartet wird das Formular über einen Button. Der Befehl: Userform.Show
Die letzten Zeilen in meinem Code bei der Initialisierung sieht so aus:

Inhalt = Me.ListBox1.ListCount
If Inhalt = 0 Then
MsgBox "Es gibt keine Anschreiben, die vor mehr als " & Chr(13) & _
Zeitraum & " Monaten verschickt worden sind", , "Nichts vorhanden"
Unload Me
Exit Sub
End If

Allerdings gibt er mir dann einen Fehler aus, weil dann beim Click-Ereignis des Buttons ja der Befehl steht, dass er das Formular anzeigen soll. Mit meiner Version funktioniert es also nicht. Bei Hajos Version weiß ich nicht, wo ich das hinschreiben soll.
Anzeige
AW: Userform bei leerer Liste nicht anzeigen sond. Msg
24.10.2018 22:44:31
Daniel
Hi
Ich kann den Fehler so nicht nachvollziehen.
Eine leere Listbox sollte eigentlich keine Fehlerursache sein.
Wenn du einen Fehler bekommst, solltest du uns auch mitteilen, welcher Fehler und in welcher Zeile. Schließlich erwartest du als Antwort ja auch einen konkreten Hinweis, was du anders machen musst und nicht nur die Feststellung, dass du was anders machen musst.
Aber rein prinzipiell solltest du doch schon vor dem Öffnen der Userform über Zählen wenn bzw WorksheetFunction.CountIf ermitteln können, wie viele Anschreiben im gesuchten Zeitraum vorkommen und wenn die Anzahl 0 ist, brauchst du die Userform gar nicht erst starten.
Gruß Daniel
Anzeige
AW: Userform bei leerer Liste nicht anzeigen sond. Msg
24.10.2018 23:13:33
Oisse
Danke Daniel für die Antwort.
Es passiert Folgendes:
Nachdem die Initialisierung abgeschlossen ist, springt er auf diesen Code:

Private Sub cmb_fehlendeDaten_versenden_Click()
frm_FehlendeDaten_email.Show
End Sub

Hier kommt dann die Fehlermeldung: Objektvariable oder With-Blockvariable nicht festgelegt.
Und es ist genau die Zeile, die das Formular öffnen soll.
Öffnet denn das Formular nicht automatisch beim Initialisieren? Oder wie, bitte, kann ich das anders lösen.
Ich hoffe, dass es nun etwas verständlicher ist.
AW: Userform bei leerer Liste nicht anzeigen sond. Msg
24.10.2018 23:35:20
Daniel
du musst im VBA-Editor im Menüpunkt Extras - Optionen - Allgemein - Unterbrechen bei Fehlern - in Klassenmodul einestellen.
dann gibts den Fehlerstop auch dort, wo er passiert.
und lade bitte die Datei hoch.
Anzeige
AW: Userform bei leerer Liste nicht anzeigen sond. Msg
25.10.2018 07:49:08
Hajo_Zi
Dir ist schon bekannt das initialisieren in einer Excel Sitzung nur einmal ausgeführt wird?
frage jemand der neben Dir sitzt der sieht die Datei.
Ich sehe Sie nicht.
Gruß Hajo
Beispieldatei
27.10.2018 18:41:24
Oisse
Hallo Hajo und Daniel
und große Entschuldigung, dass ich mich jetzt erst wieder melde. Es ging leider, leider nicht früher. Wollte nicht unhöflich sein.
Also ich hab jetzt mal eine Beispielmappe angehängt. Wenn man auf den Button drückt öffnet sich eine Inputbox. Es wird gefragt, ob es Anschreiben gibt, die länger als der eingegebene wert zurückliegt.
Wenn keine Einträge vorhanden sind, erscheint zwar die MsgBox, aber das Formular wird trotzdem geöffnet.
Wie kann ich das bitte lösen?
Viiielen Dank für eure Geduld und Nachsicht.
https://www.herber.de/bbs/user/124948.xlsm
Gruß Oisse
Anzeige
AW: Beispieldatei
27.10.2018 19:13:47
Hajo_Zi
zeile
Dim Zeitraum As Long
und Inputbox in Userform Löschen
Ich vermute mal es ist eine Zahl >0
Option Explicit
Public Zeitraum As Long
Sub frm_FehlendeDaten_Anzeigen()
Zeitraum = InputBox("Das letzte Anschreiben " & Chr(13) & "ist l?nger als wieviele Monate  _
her?", "Anschreibezeitraum", 0)
If Zeitraum  0 Then
frm_FehlendeDaten_email.Show
End If
End Sub
Gruß Hajo
AW: Beispieldatei
27.10.2018 19:30:12
Oisse
Hallo Hajo,
danke für die Antwort. Bei mir kommt jetzt in der Zeile:
frm_FehlendeDaten_email.Show
die Fehlermeldung Objektvariable oder With-Blockvariable nicht festgelegt
An was liegt´s außer an dem Problem, das sich gerade 20 cm vor dem PC befindet?
Anzeige
AW: Beispieldatei
27.10.2018 21:09:38
Oisse
Danke Hajo fürs Testen und Zusenden.
Aber es macht doch trotzdem das Formular auf, das soll es ja eben nicht.
Die MsgBox soll ja statt des Formulars kommen und nicht vor dem Formular.
Deswegen ja meine Frage, ob das überhaupt geht?
Gruß Oisse
AW: Beispieldatei
27.10.2018 21:33:49
Hajo_Zi
Gut ich kann Dir nicht Helfen, da Du wein anderes Excel hast. Bei mir wird bei 0 Die UF nicht aufgemacht.
Viel Erfolg noch.
Gruß Hajo
Anzeige
AW: Beispieldatei
27.10.2018 21:45:28
Oisse
Bei 0 in der Inputbox wird mir die UF auch nicht aufgemacht. Es sollen aber eben beliebige Monate abgefragt werden: Bei wem sind die letzten Anschreiben länger als x Monate her? Wenn sie länger als x Monate her sind, sollen sie in der Liste erscheinen, damit ein erneutes Anschreiben erfolgen kann. Eine Null hilft da ja nix. In die Inputbox muss eine Zahl größer als Null.
Es geht darum: Wenn im Listenfeld keine Einträge sind, weil es keine Anschreiben gibt, die älter als x Monate sind, dann soll eine MsgBox kommen und die UF nicht aufgemacht werden. Vielleicht stimmt meine ganze Logik im Code ja auch nicht. Na ja, auf alle Fälle danke, dass du dich mit meinem Problem beschäftigt hast und mir wirklich helfen wolltest.
Gruß Oisse
Anzeige
AW: Beispieldatei
28.10.2018 07:52:57
Hajo_Zi
Ich sehe es also richtig, Du möchtest nicht beschreiben wo das Problem ist. Wie im ersten Beitrag gefordert kommt die UserForm Ich schaue nicht auf fremde Rechner und bin darum raus.
Vielleicht macht es jemand.
Noch viel Erfolg.
Gruß Hajo
AW: Beispieldatei
28.10.2018 20:19:22
Oisse
Nein, du siehst es meines Erachtens nicht richtig. In meinem ersten Beitrag habe ich geschrieben, wie man es machen kann, dass die Userform gar nicht erst angezeigt wird, wenn keine Listeninhalte vorhanden sind, sondern lediglich die MsgBox aufpoppt. Das war die Problemstellung.
Mittlerweile habe ich aber das Problem gelöst. Ich dachte nur, dass es einen einfachere Möglichkeit gibt. Aber wie bereits gesagt: Viiielen Dank für deine Hilfe und dass du dich mit meinem Problem auseinander gesetzt hast, wie bei so vielen hier im Forum.
Hier die Mappe so wie ich sie mir vorgestellt hatte.
https://www.herber.de/bbs/user/124964.xlsm
Herzliche Grüße
Oisse
Anzeige
Häckchen vergessen
27.10.2018 19:39:59
Oisse
Sorry,
Häckchen vergessen
Häckchen, Standart(en) und Marko sind die ...
28.10.2018 09:20:05
lupo1
... häufigsten Schreibfehler in der Forenbetreffs-Welt.

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige