Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1728to1732
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
"Info-Box" über gesamtes Userform legen
10.12.2019 14:15:27
Sven
Moin,
um eine (Fehler-)Meldung auszugeben, würde ich gerne über die gesamte Breite des Userforms ein Label anzeigen (mit visible = true) und nach ein paar Sekunden verschwinden lassen. Aber: Obwohl ich via Rechtsklick "in den Vordergrund" verordnet habe, liegen Textboxen oder Multiforms dennoch darüber. Hat hier jemand eine Idee oder vielleicht sogar ein Beispiel für eine vom oberen Userform-Rand hübsch "reinfahrene" Anzeige für diesen Usecase?
Danke und Grüße
Sven

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Info-Box" über gesamtes Userform legen
10.12.2019 14:42:53
Matthias
Moin!
Setze mittels Code das Label nochmal in den Vordergund. Bspw. So:
Me.Label1.ZOrder (0)

VG
AW: "Info-Box" über gesamtes Userform legen
11.12.2019 09:23:56
Sven
Hallo Matthias,
das bringt es leider nicht. :(
Userbild
Hier sieht man, dass die grüne Meldung unter anderen Steuerelementen hängt.
Private Sub ufMessage(strMessage As String, intStyle As Integer)
With lblMessage
.Caption = strMessage
.Visible = True
.ZOrder (0)
Select Case intStyle
Case 1
.BackColor = &HC0FFC0
Case 2
.BackColor = &HC0FFFF
Case 3
.BackColor = &H80C0FF
End Select
End With
End Sub

Anzeige
AW: "Info-Box" über gesamtes Userform legen
11.12.2019 10:49:57
Sven
Hallo Pierre,
danke für den Tipp. Überlegt habe ich das auch schon, aber ein cleanes Label wäre mir lieber. Oder kann ich das Userform unkompliziert um die Steuerelemente bereinigen? Zudem wird das UserForm bei mir irgendwie nicht ausgeblendet...
    ufInfo.Show
Dim i
For i = 1 To 3
Application.Wait Now + TimeSerial(0, 0, 1)
Next i
Unload ufInfo

Anzeige
AW: "Info-Box" über gesamtes Userform legen
11.12.2019 12:05:24
Pierre
Hallo Sven,
was meinst du genau mit "um die Steuerelemente bereinigen"?
Und wegen dem automatischen Schließen versuche mal folgendes:
Ich habe jetzt mal ganz schnell was gezaubert, durch Klick auf CommandButton lasse ich die UF anzeigen, deswegen sieht der Code so aus, wie er aussieht.
Private Sub CommandButton1_Click()
Application.OnTime Now + TimeValue("00:00:03"), "UF_Close"
UserForm2.Show
End Sub

Diesen Code fügst du unter deinem Tabellenblatt ein, auf dem die UF erscheinen soll.
In ein allg. Modul folgenden Code:
Sub UF_Close()
Unload UserForm2
End Sub
So funktioniert es bei mir.
Also: Bei Klick auf Button erscheint die zweite UF (dein Label-Ersatz) und nach x Sekunden schließt sich diese automatisch wieder.
Sorry, ich kenne mich nicht gut mit UF aus, hoffe, dass dir das bereits weiterhilft.
Die UF kannst du ja frei gestalten, wie du sie haben willst.
Gruß Pierre
Anzeige
AW: "Info-Box" über gesamtes Userform legen
11.12.2019 14:30:48
Sven
Mit "um die Steuerelemente bereinigen" meine ich, dass beispielsweise das Schließen-X und die Titelzeile des Fensters ausgeblendet werden.
Das mit dem Schließen hat jetzt funktioniert. Danke. Damit ist aber auch die ganze Excel-Instanz für drei Sekunden lahm gelegt, ne?
Grüße
AW: "Info-Box" über gesamtes Userform legen
12.12.2019 09:38:03
Sven
Hallo Pierre,
oje, der Code ist auch für mich eine Blackbox. Aber danke!
Grüße
Sven
AW: "Info-Box" über gesamtes Userform legen
12.12.2019 10:11:24
Pierre
Hallo Sven,
funktioniert er denn? Das wäre gut zu wissen.
Ansonsten hier: https://www.herber.de/bbs/user/133735.xlsm
Da habe ich den Code gestern mal noch rein gepackt und soweit bereinigt.
Also bei mir funktioniert es (wie du nach Klick auf den Button sehen kannst).
Mit der Datei kannst du dir ansehen, wo welcher Code hingehört.
Und noch zu deiner Frage gestern, da bin ich gar nicht drauf eingegangen:
Du kannst in der Zeit nichts in Excel machen, wobei ich jetzt eh davon ausgegangen war, dass in der Zeit, in der dein Formular (UF1) überdeckt wird, nichts gemacht werden soll/darf/muss.
Gruß Pierre
Anzeige
AW: "Info-Box" über gesamtes Userform legen
11.12.2019 16:09:46
Matthias
Moin!
Ohne die Datei zu sehen, ist es meist schwer. Im Zweifel iteriere durch alle controls (bis auf dein label) und setze visible false. Dann bleibt nur dein Label übrig. Alternativ die anderen mit Zorder 1 nach hinten legen.
VG
AW: "Info-Box" über gesamtes Userform legen
12.12.2019 10:51:57
Sven
Moin Matthias,
ich konnte mir jetzt behelfen, indem ich das Label in ein Frame-Steuerelement verpackt habe. Dann klappt es.
Eigentlich finde ich die Meldungsausgabe so ganz schick, aber: Um die Box anzuzeigen, habe ich mit wait für drei Sekunden das ganze Excel lahm gelegt. Das ist für den Anwender natürlich unschön. Besser wäre, wenn die Box einfach bliebe, bis irgendein Klick erfolgt oder ich einen Timer nutzen könnte, der ein Weiterarbeiten ermöglicht. Hast Du da eine Idee?
VG
Anzeige
AW: "Info-Box" über gesamtes Userform legen
12.12.2019 13:42:26
Pierre
Ich bin mal so frei und mache hier "zu", es geht oben weiter (https://www.herber.de/forum/archiv/1728to1732/t1728613.htm#1728613)
Hoffentlich klappt jetzt die Verlinkung wenigstens ...
AW: "Info-Box" über gesamtes Userform legen
12.12.2019 14:29:20
Sven
Danke.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige