Office: (Office 365) Userform immer im Vordergrund halten

Helfe beim Thema Userform immer im Vordergrund halten in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe zwar intensiv die Suchfunktion benutzt, bin aber noch zu keiner Lösung gekommen. Ich habe ein Modul welches mir eine Datei... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von BerndK, 18. Mai 2026 um 11:40 Uhr.

  1. BerndK Neuer User

    Userform immer im Vordergrund halten


    Hallo zusammen,
    ich habe zwar intensiv die Suchfunktion benutzt, bin aber noch zu keiner Lösung gekommen.
    Ich habe ein Modul welches mir eine Datei mit ausgewählten Daten von zwei Dateien füllt und formatiert. Diese Datei muss dann händisch weiter bearbeitet und per Mail versendet werden. Ich wollte dazu nach der automatischen Bearbeitung eine Userform aufrufen die dann im Vordergrund bleibt so lange die Datei bearbeitet wird und in der dann auf eine Schaltfläche geklickt wird und der Mailversand aktiviert wird.
    Habe soweit auch alles hinbekommen. Nur kann ich wenn ich die Userform1.Show (auch mit vbModeless) aufrufe die Tabelle nicht mehr bearbeiten. Mailversand nach Klick in Userform würde funktionieren. Wenn ich bei der Userform ShowModal auf false setze (was ich mehrmals gelesen habe) wartet die Userform nicht mehr auf einen Klick sondern macht im Modul einfach weiter.
    Danke für eure Hilfe.
     
  2. R J
    R J hat Ahnung
    Hi

    modale Userformen verhalten sich wie Messageboxen. Solange sie aktiv sind, kann nichts anderes ausgeführt werden. Also völlig normales Verhalten. Und ShowModal = false entspricht modeless, also keinem Msgboxverhalten.
    Da es Dir aber im Wesentlichen um das Einlesen von Daten externer Dateien und deren Transformation geht, warum nutzt Du da nicht Power Query? (Menü Daten --> Daten abrufen) Dafür brauchst Du keine Userform, kein VBA etc. Musst Dich nicht um modal oder modeless kümmern. Den Versand startest Du über Deinen Button halt erst dann, wenn die Aktualisierung abgeschlossen ist.
    Die KI schlägt (ungeprüft) folgendes Vorgehen für den Versand vor:
    Code:
    Option Explicit
    
    ' Wartet, bis alle Power Query-Abfragen fertig aktualisiert sind
    Sub RefreshPQAndRunMacro()
        Dim cn As WorkbookConnection
        Dim isRefreshing As Boolean
      
        ' --- Power Query-Abfragen starten ---
        For Each cn In ThisWorkbook.Connections
            ' Nur Power Query-Verbindungen aktualisieren
            If cn.Type = xlConnectionTypeWORKSHEET Then
                cn.Refresh
            End If
        Next cn
      
        ' --- Warten, bis alle fertig sind ---
        Do
            isRefreshing = False
            For Each cn In ThisWorkbook.Connections
                If cn.Refreshing Then
                    isRefreshing = True
                    Exit For
                End If
            Next cn
            DoEvents ' CPU entlasten, UI reagieren lassen
        Loop While isRefreshing
      
        ' --- Jetzt dein Makro starten ---
        Call MeinWeiteresMakro
    End Sub
    
    ' Beispiel-Makro, das nach der Aktualisierung läuft
    Sub MeinWeiteresMakro()
        MsgBox "Power Query ist fertig – jetzt geht's weiter!", vbInformation
    End Sub
    
    Im Sub MeinWeiteresMakro gehört natürlich der Code für den Versand...
     
  3. R J
    R J hat Ahnung
    ...ha... wie das so ist, mit der KI... ungeprüft sollte man ihr nichts glauben...Userform immer im Vordergrund halten :confused:

    Es geht wesentlich kürzer und vorallem funktioniert es auch:
    Code:
    Sub AktualisierenUndWarten()
    
        ' Alle PQ-Abfragen starten
        ThisWorkbook.RefreshAll
    
        ' Warten, bis ALLE PQ-Abfragen fertig sind
        Application.CalculateUntilAsyncQueriesDone
    
        ' Jetzt ist garantiert alles fertig
        MsgBox "Alle PQ-Abfragen wurden erfolgreich aktualisiert." & vbCrLf & "Jetzt kannst Du den Versand starten"
    
    End Sub
     
  4. BerndK Neuer User

    Userform immer im Vordergrund halten

    Leider habe ich noch nicht mit Power Query gearbeitet. Keine Ahnung, ob es die Bedingungen auch erfüllen kann. Warum ich diesen Weg wähle, der ganze Vorgang muss DAU tauglich sein. Die beiden Tabellen werden erst aufbereitet, auf doppelte Einträge geprüft und nur Tabellenzeilen die entsprechende Eigenschaften haben in eine neue Datei übernommen, die genau festgelegten dynamischen Dateinamen und Ablageort hat, nicht überschrieben werden darf, ...
    Dafür schien mir Makro die erste Wahl.
     
    Zuletzt bearbeitet: 18. Mai 2026 um 14:09 Uhr
  5. R J
    R J hat Ahnung
    Nun ja, die Anwender müssen keine Vorkenntnisse besitzen. Und wenn Du ein Rechteck mit entsprechender Beschriftung und passendem Makron auf das Blatt setzt, ist die einzige Voraussetzung, dass sie lesen können, oder zumindest wissen, wofür die einzelnen Buttons gut sind.
    Ansonsten ist PQ für Deine Bedürfnisse genau das richtige Tool. Aus meiner Sicht sogar einfacher als VBA. Zumindest wenn man wirklich nur Daten transformieren will. Da lässt sich vieles mit der Maus zusammenklicken.
    Bei dynamischer Dateiauswahl braucht man aber schon tiefergehende Kenntnisse. Aber unmöglich ist das nicht. Das Schöne daran ist aber, der Endanwender kann immer noch komplett ahnungslos sein, denn auch PQ verwendet, genau wie VBA, einen internen Code.
    Haben die Dateien wenigstens eine identische Struktur?
    Liegen sie im gleichen Verzeichnis?
    Worin unterscheiden sich denn die dynamisch zu behandelnden Eigenschaften? Erstellungsdatum? Änderungsdatum? Was anderes?
    Lad doch mal eine Zip-Datei mit einem Beispielordner und darin enthaltenen Beispieldateien hoch und erklär mal, was Du damit machen willst.

    Ach so, ja, ganz wichtig, welche Excelversion nutzt Du denn?
     
  6. BerndK Neuer User
    Ich nutze Office 365. Die Struktur der beiden Dateien ist identisch. Gestartet wird das Ganze in einer Datei die nur einen Button zum Makrostart enthält und zu nichts weiter dient. Die 2 Dateien sind Exportdateien aus einem Programm (aus verständlichem Grund natürlich hier ohne Inhalt) und können vorher nicht gefiltert oder formatiert werden. Sie sind bei jedem Export und auch jeweils untereinander unterschiedlich lang. In den Dateien wird dann die Differenz aus h und g gebildet. Alle Zeilen die eine Differenz > 1:30 oder keine Einträge bei Enddatum haben werden in eine neue Datei übernommen die zusätzliche Spalten enthält. Dabei kann es vorkommen, dass in den Dateien die selben Auftragsnummern (natürlich mit gleichem Inhalt) vorkommen. Diese dürfen nicht doppelt in der neuen Datei erscheinen. Dann wird nach Abfrage der entsprechenden Kalenderwoche (Überprüfung auf 2-Stelligkeit, numerisch) die neue Datei in ein völlig anderes Verzeichnis geschrieben. Name enthält natürlich u.a. die KW. Vorher wird geprüft ob es diese Datei schon gibt und entsprechende Möglichkeiten angeboten. Allein hier ist für mich schon das Makro sinnvoll, weil sonst jeder eine andere Schreibweise (Leerzeichen, Unterstrich, ...) verwendet und die Sortierung im Explorer dann unübersichtlich wird. Die neue Datei wird optisch aufgehübscht und die Einträge in den zusätzlichen Spalten händisch ergänzt und muss dann nach erneuter, diesmal automatischer Speicherung, versendet werden.
     

    Anhänge:

  7. HKindler
    HKindler Erfahrener User
    Hi,

    R J hat sicherlich recht. PQ ist vermutlich eher das Mittel der Wahl.

    Wenn du dennoch den eingeschlagenen Weg weiterverfolgen willst...
    Aus deiner Schilderung lese ich heraus, dass dein Programm im Grunde so aussieht: (Pseudocode)
    Code:
    MeineForm.Show
    VersendeDieDatei
    Wie du bereits festgestellt, hast, führt ein nicht modales Ausführen einer Userform dazu, dass das Makro sofort weiter macht, Was kann man tun? Deine Userform braucht einen Button "Senden". Diesem Button musst du den Code zum Versenden zuweisen. Der wird dann ausgeführt, sobald der Button gedrückt wird.

    Ich habe dir einmal ein Beispiel gebastelt...
     
  8. R J
    R J hat Ahnung

    Userform immer im Vordergrund halten

    Mit O 365 hast Du beste Voraussetzungen, gleiche Struktur, gleicher Ordner macht die Sache einfacher (bleibt der Ordner immer der gleiche?, sind da noch mehr Dateien, gibt es etwas, wonach die gefiltert werden sollten?)
    Nicht verständlich ist, dass Du die hier ohne Inhalt schickst. Sollen wir die füllen? Ich mach das, hoffentlich verständlicherweise, jedenfalls nicht. Füg ein paar Dummydaten ein und auf ein Neues.
    Länge der Dateien ist belanglos.
    Wie soll denn die Zusatzdatei mit Zusatzspalten aussehen?(würde vermutlich eine Zusatztabelle reichen). Wenn Du eine Wunschergebnistabelle (kann händisch erstellt sein) anfügst, kann das gleich mit berücksichtigt werden.
    Wenn die tatsächlich in ein anderes Verzeichnis soll, dann muss dort eine entsprechende PQ Abfrage erstellt werden oder... Du verschiebst die Zusatztabelle im Versende-Makro gleich mit in eine neue Datei.
     
  9. knobbi38 hat Ahnung
    Hallo Bernd,

    warum eine Userform dafür verwenden? Für die Anwendung reichen Shapes auf einem Tabellenblatt und die kannst du per VBA einfach ansteuern, z.B. Sichtbarkeit, Farbe usw. Das sollte reichen und ist viel einfacher zu handhaben.

    Man könnte auch an ein Ribbon denken... Userform immer im Vordergrund halten *;)*

    Knobbi38
     
Thema:

Userform immer im Vordergrund halten

Die Seite wird geladen...
  1. Userform immer im Vordergrund halten - Similar Threads - Userform Vordergrund halten

  2. In Userform Daten splitten

    in Microsoft Excel Hilfe
    In Userform Daten splitten: Hallo Zusammen, ich wäre um Hilfe sehr dankbar!!! Ich möchte über die Textbox1 Daten splitten. Mit den Komas funktioniert es ganz gut. Leider gibt es in dem Datensatz noch 2 Bindestriche und...
  3. einfache suche via userform wie im browser

    in Microsoft Word Hilfe
    einfache suche via userform wie im browser: Seid gegrüßt! Da der 'Suchen und Ersetzen' Dialog sehr viel Platz wegnimmt, und von mir häufig genutzte Optionen tief versteckt sind, versuche ich eine kleine Userform mit diesen Optionen zu...
  4. Monats Kalender über Userform

    in Microsoft Excel Hilfe
    Monats Kalender über Userform: Ich habe über das Userform einen Monatskalender mit zwei Buttons links und rechts erstellt, um die Monate vor- und zurückzublättern. Außerdem soll der Monat im Format „Januar 2025“ angezeigt...
  5. Userform dauerhaft im Vordergrund

    in Microsoft Excel Hilfe
    Userform dauerhaft im Vordergrund: Hallo Mitstreiter, gibt es eine Möglichkeit, eine kleine Userform, dauerhaft im Vordergrund auf dem Desktop zu halten, selbst wenn eine andere Anwendung aktiviert ist? 327462
  6. Userform immer im Vordergrund

    in Microsoft Excel Hilfe
    Userform immer im Vordergrund: Hallo Experten Wie kann ich es in VBA schaffen das ich eine User Form immer im Vordergrund habe auch wenn ich andere Tabellen öffne das diese sichtlich ist ? wer könnte mir helfen ? L.G. Supi 351089
  7. Word Dokument über Excel-Userform im Vordergrund öffnen

    in Microsoft Excel Hilfe
    Word Dokument über Excel-Userform im Vordergrund öffnen: Ein freundliches Hallo an Alle, ich möchte über eine Userform in Excel ein Worddokument öffnen. Es soll vor Excel geöffnet werden, nicht in der Taskleiste abgelegt werden. Hier aus dem Forum und...
  8. UserForm im Vordergrund halten wenn application visible=false

    in Microsoft Excel Hilfe
    UserForm im Vordergrund halten wenn application visible=false: Hallo, Ich habe für meine Kollegen eine kleine Anwendung gebaut, in der über ein Formular Daten eingeben und gespeichert werden können. Wenn die UF initialisiert wird, wird dabei Excell mit:...
  1. Chaoswolf
  2. d'r Bastler
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden