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

Userform aktivieren | Herbers Excel-Forum

Forumthread: Userform aktivieren

Userform aktivieren
26.01.2010 10:13:22
chris b.

Hallo und guten morgen,
ich habe eine frage und würde mich sehr über Hilfe freuen.
Ich habe eine Exceldatei.In diesr ist ein Makro mit einer userform.
Jezt will ich das z.b nach ablauf eines Timers eine userform gestartet wird und diese im Vordergrund erscheint.
Also auf dem Desktop.Egal wleches Andere Programm momentan den Focus hat.
Es soll die Userform erscheinen im Vollbildmodus und diese soll erst wieder verschwinden wenn ich einen Botton auf der Form klicke.
Würde mich über Hilfe freuen.
Vielen Dank gruß Chris

Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform aktivieren
26.01.2010 10:31:22
Tino
Hallo,
versuche es mal so.
Kommt in ein Modul, die Userform noch anpassen.
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" ( _
ByVal hwnd As Long) As Long
Sub Aktiviere_Userform()
Dim lngHwnd As Long
lngHwnd = FindWindow(vbNullString, UserForm1.Caption)
SetForegroundWindow lngHwnd
End Sub
Nach ablauf der Zeit fürst Du das Makro Aktiviere_Userform aus.
Gruß Tino
Anzeige
AW: Userform aktivieren
26.01.2010 10:38:38
Rudi Maintaire
Hallo,
als Ansatz.
in ein Modul:
Sub tt()
Application.OnTime Now + TimeSerial(0, 0, 30), "startUF", , True
End Sub

Sub startUF()
AppActivate Application.Caption
UserForm1.Show
End Sub

Die Mappe muss eine Userform1 haben.
Gruß
Rudi
Anzeige
AW: Userform aktivieren
26.01.2010 10:57:49
chris b.
Danke Rudi und Tino.
AW: Userform aktivieren
26.01.2010 11:11:28
chris b.
Hallo Rudi und Tino,
ich muss noch einmal aufmachen.
Sorry aber Funktionieren beide nicht:(
EEs fängt immer nur Excel das Blinken in der Taskleiste an.
Aber wenn ich z.b Notepad im Vordergrund habe bleibt Notepad auch im vordergrund.
Was kann ich machen ?
danke noch einmal.
gruß Chris
Anzeige
meine funktioniert owT
26.01.2010 11:39:57
Rudi Maintaire
AW: meine funktioniert owT
26.01.2010 11:50:41
chris b.
Bei mir nicht ? Weißt du noch eine mögichkeit ?
danke Rudi
klappt nicht Beispielcode angehängt
26.01.2010 13:07:15
chris b.
Hallo Rudi,
habe jezt eine leere Mappe erstellt.
Mit einem Modul1 in dieses habe ich den Code rein kopiert:
Option Explicit
Sub tt()
Application.OnTime Now + TimeSerial(0, 0, 10), "startUF", , True
End Sub


Sub startUF()
AppActivate Application.Caption
UserForm1.Show
End Sub

dann habe ich noch eine leere userform erstellt.
dann habe ich das Makro tt gestartet und dann ein geöffnetes Fenster z.b Notepad vergrößert und aktiviert.
dann nach 10 sekunden fing Excel unten in der Taskleiste das blinken an.
Aber die Userform ist nicht erschienen.Also Sie hat nicht das Notepad fenster verdeckt sondern blieb dahinter aktiv.
Kann ich das irgendwie schaffen ?
danke
Anzeige
keine Erklärung
26.01.2010 13:22:48
Rudi Maintaire
Hallo,
bei klappt das so, wie du geschrieben hast. Nur dass die UF erscheint. Kein Blinken in der Taskleiste.
Gruß
Rudi
teste mal diese Version...
26.01.2010 13:50:56
Tino
Hallo,
habe mal etwas rumgespielt, teste mal diese Version.
https://www.herber.de/bbs/user/67502.xls
Gruß Tino
Anzeige
AW: teste mal diese Version...
26.01.2010 13:57:50
chris b.
Tinooooooooooo, super genau das klappt bei mir !!!!!!!!!!!
Vielen Dank und auch dir Danke Rudi !
AW: teste mal diese Version...
26.01.2010 14:11:04
chris b.
Hallo Tino,
könntest Du mir vielleicht noch einmal helfen ? Habe hier eine Datei die ich mit Hilfe des Forums erstellt habe.
Aber irgendwie ist da alles durcvheinander mit dem Timer verlängern usw..
Könntest Du mal drüber schauen wie ich die Datei evtl. verbessern könnte. ?
Wäre echt super von Dir.
Und das mit dem Windows in den Vordergrund holen hat perfekt geklappt und den Code findest Du auch in dieser datei wieder.
https://www.herber.de/bbs/user/67504.zip
Danke Tino !
Anzeige
AW: teste mal diese Version...
26.01.2010 19:01:55
Tino
Hallo,
hat etwas gedauert da ich an meiner Gurke ein bar Probleme hatte.
Teste mal ob es so funktioniert.
https://www.herber.de/bbs/user/67527.xls
Die Zeit ist auf eine Minute eingestellt.
Gruß Tino
AW: teste mal diese Version...
27.01.2010 06:58:57
chris b.
Hallo Tino,
finde ich echt klasse Deine Datei.Könntest Du sie dir trotzdem noch einmal anschauen ?
Wasnoch nicht klappt ist das verbergen der ersten Userform nach ca 10 sekunden.
Weil momentan geht es nur wenn ich zumindest Manuell auf Ok klicke bei der ersten Userform(Startinfo).
Danke Tino sonst klappt es super !
Anzeige
AW: teste mal diese Version...
27.01.2010 07:16:49
chris b.
Und vielleicht noch eine Bitte Tino.
Könntest Du mir diese Datei mal erklären ?
Ich blicke da nicht durch wie die Timer alle funktionieren.
Danke im voraus Tino !
hier die Anpassung mit Kommentar
27.01.2010 08:29:47
Tino
Hallo,
für die erste UF habe ich nicht eingebaut.
Hier die die Datei, habe sehr viele Kommentare in den Code geschrieben.
https://www.herber.de/bbs/user/67531.xls
Gruß Tino
Anzeige
AW: hier die Anpassung mit Kommentar
27.01.2010 08:54:35
chris b.
Hallo Tino,
guten morgen erst einmal !
Also die verbesserung ist der Wahnsinn.
Ich habe bis jezt daran rumgebastelt und es nicht hin bekommen.Das einzige was ich mit jetzt noch "Wünsche" wäre wenn in der Form 1 auch ein Timer ablaufen würde.Also die restzeit bis zum Ausblenden der 1 Userform.
Bekommst du das für mich noch hin ? Danke Tino !
Oder kannst Du mir sagen wo ich welchen Code einbauen muss dazu ?
Anzeige
AW: hier die Anpassung mit Kommentar
27.01.2010 10:43:06
chris b.
Absolut klasse Tino.
Vielen vielen Dank für Deine Hilfe !!
liebe grüße Chris
AW: hier die Anpassung mit Kommentar
27.01.2010 11:56:34
Tino
Hallo,
habe noch eine bessere Möglichkeit gefunden die Userform in den Vordergrund zu bringen.
(Code von Nepumuk)
Viel Spaß beim testen.
https://www.herber.de/bbs/user/67542.xls
Gruß Tino
Anzeige
AW: hier die Anpassung mit Kommentar
27.01.2010 14:23:45
chris b.
Danke Tino !:)
AW: teste mal diese Version...
26.01.2010 18:51:19
chris b.
Hallo Tino,
könntest Du mir vielleicht noch einmal helfen ? Habe hier eine Datei die ich mit Hilfe des Forums erstellt habe.
Aber irgendwie ist da alles durcvheinander mit dem Timer verlängern usw..
Könntest Du mal drüber schauen wie ich die Datei evtl. verbessern könnte. ?
Wäre echt super von Dir.
Und das mit dem Windows in den Vordergrund holen hat perfekt geklappt und den Code findest Du auch in dieser datei wieder.
https://www.herber.de/bbs/user/67504.zip
Danke Tino !
Anzeige
;
Anzeige

Infobox / Tutorial

Userform aktivieren in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du im Projektfenster mit der rechten Maustaste auf deinen Projektordner klickst und Einfügen > Modul wählst.

  3. Kopiere den folgenden Code in das Modul, um die Userform zu aktivieren:

    Private Declare Function FindWindow Lib "user32" _
    Alias "FindWindowA" (ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
    Private Declare Function SetForegroundWindow Lib "user32" ( _
    ByVal hwnd As Long) As Long
    
    Sub Aktiviere_Userform()
       Dim lngHwnd As Long
       lngHwnd = FindWindow(vbNullString, UserForm1.Caption)
       SetForegroundWindow lngHwnd
    End Sub
  4. Starte den Timer, der die Userform nach einer bestimmten Zeit anzeigen soll, indem du folgendes Makro erstellst:

    Sub tt()
       Application.OnTime Now + TimeSerial(0, 0, 30), "startUF", , True
    End Sub
    
    Sub startUF()
       AppActivate Application.Caption
       UserForm1.Show
    End Sub
  5. Führe das Makro tt aus, um den Timer zu starten.


Häufige Fehler und Lösungen

  • Userform erscheint nicht im Vordergrund: Stelle sicher, dass der Name der Userform im Code korrekt ist (z.B. UserForm1). Überprüfe auch, ob die Userform tatsächlich erstellt wurde.

  • Blinken in der Taskleiste: Dies kann auftreten, wenn die Userform nicht richtig in den Vordergrund gebracht wird. Verwende die Funktion SetForegroundWindow im obigen Code, um dies zu beheben.


Alternative Methoden

Eine alternative Methode, um die Userform zu aktivieren, besteht darin, die AppActivate-Methode zu verwenden. Hier ist ein Beispiel:

Sub startUF()
    AppActivate Application.Caption
    UserForm1.Show
End Sub

Diese Methode hat jedoch möglicherweise Einschränkungen in Bezug auf den Fokus anderer Anwendungen.


Praktische Beispiele

Wenn du eine Userform für eine kurze Zeit anzeigen möchtest, kannst du den Timer wie folgt anpassen:

Sub tt()
    Application.OnTime Now + TimeSerial(0, 0, 10), "startUF", , True
End Sub

In diesem Beispiel wird die Userform nach 10 Sekunden angezeigt. Du kannst die Zeit anpassen, um sie deinen Bedürfnissen anzupassen.


Tipps für Profis

  • Verwende Kommentare im Code: Wenn du mit komplexeren Makros arbeitest, füge Kommentare hinzu, um den Code übersichtlicher zu gestalten. Dies hilft dir und anderen später beim Verständnis der Logik.

  • Teste regelmäßig: Führe deine Makros regelmäßig aus, um sicherzustellen, dass sie wie erwartet funktionieren. Das hilft, Fehler frühzeitig zu erkennen und zu beheben.


FAQ: Häufige Fragen

1. Wie kann ich die Userform im Vollbildmodus anzeigen?
Um die Userform im Vollbildmodus anzuzeigen, kannst du die Eigenschaften der Userform im VBA-Editor anpassen und sie so gestalten, dass sie den gesamten Bildschirm ausfüllt.

2. Funktioniert dieser Code in allen Excel-Versionen?
Der bereitgestellte Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass du die richtige Version verwendest.

3. Was ist, wenn die Userform immer noch nicht im Vordergrund erscheint?
In diesem Fall könnte es an spezifischen Windows-Einstellungen oder Berechtigungen liegen. Stelle sicher, dass Excel die Berechtigung hat, Fenster im Vordergrund zu bringen.

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