Office: Userform resetten, Urzustand wiederherstellen

Helfe beim Thema Userform resetten, Urzustand wiederherstellen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Nabend zusammen, ich habe eine Userform mit einem Combofeld und einem Textfeld, je nachdem was in den beiden Feldern eingetragen wird, werden durch... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von wulfen, 1. März 2016.

  1. Userform resetten, Urzustand wiederherstellen


    Nabend zusammen,

    ich habe eine Userform mit einem Combofeld und einem Textfeld, je nachdem was in den beiden Feldern eingetragen wird, werden durch einen Knopfdruck, X neue Textfelder und Bezeichnungsfelder ergänzt.

    Wenn ich nun neue Eingaben mache, werden Y neue Felder ergänzt und die alten praktich nur überdeckt... und wenn Y kleiner als X ist habe ich praktisch ein paar Felder zuviel drinne die da nicht hingehören.

    So und nun würde ich gerne das Userform zurücksetzen, es auf den Urzustand zurücksetzen, alsob man es eben erst neue aufgerufen hätte um die o.g. Überschneidung bzw. Überlappung zuvermeiden.

    Anbei, zur veranschaulichung, ein Bild mit der Userform im Urzusand, wenn man es aufruft und wenn es ausgefüllt ist.

    Hoffe es hat jemand eine Idee oder einen Ansatz *wink.gif*
    Gruß wulfen *cool.gif*

    :)
     
    wulfen, 1. März 2016
    #1
  2. Hallo,

    ganz großes Kino! Anstelle eines Bildes solltest du mal die Datei einstellen. Da kaum jemand in der Lage sein wird, dem Bild die Quelltexte zu entlocken.
     
    Klaus-Dieter, 3. März 2016
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi,

    laufe in einer Schleife über alle Steurelemente und leere sie:

    Code:
    Userform resetten, Urzustand wiederherstellen grusz.gif
     
    Beverly, 3. März 2016
    #3
  4. Userform resetten, Urzustand wiederherstellen

    Hallo wulfen,

    Du könntest die UserForm entladen und neu anzeigen. Code in einem Modul: Code:
    Aufruf innerhalb der UserForm: Code:
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    haklesoft, 3. März 2016
    #4
  5. Moin,

    Hier die Datei : http://www.file-upload.net/download-...sung.xlsm.html

    Betrifft die Module g_1_... bis g_5_...

    Auf die Lösung mit dem entladen und neu laden bin ich auch schon gestoßen nur müsste man das noch so umschreiben, dass die alten Eingaben (Monat und Jahr) erhalten werden und die dazugehörigen Module neu aufgerufen werden.

    Bei dem Ansatz von Beverly müsste man die Label bzw. Beschriftungsfelder noch löschen und dabei selektieren, da ja nur die vatiablen Felder gelöscht werden sollen. Sprich man müsste bei der Erstellung der Variablen Felder (Modul g_1) diese fortlaufend durch nummerieren bsp. "xy" & i was soweit auch funktioniert *Smilie. Nur wie löscht die Label ?
    Habe den Code folgendermaßen abgeändert :

    Public Sub userform_reset()

    Dim ctrElement As Control

    For Each ctrElement In std_übersicht.Controls
    For i = 1 To anzahl_textf
    Select Case TypeName(ctrElement)
    Case "Label"
    If ctrElement.Name = i Then
    ctrElement.Caption = ""
    End If
    End Select
    Next i
    Next ctrElement
    End Sub
     
    wulfen, 4. März 2016
    #5
  6. Das wäre vermutlich nicht schwer umzusetzen, widerspricht aber Deiner hier bereits gelösten Anforderung "VBA - Userform resetten, Urzustand wiederherstellen"

    Von fremden Filehostern lade ich nichts herunter. *frown.gif*
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    haklesoft, 4. März 2016
    #6
  7. Hi,

    hab jetzt mal alles rausgeschmissen bisauf das wesentliche, um das es momentan geht s.h. Anhang *Smilie
    Und ja es ist mehr als nur das Userform zu resetten, wusste ja nicht wie man das macht. Hätte ja sein gekonnt, dass es einen einfachen einzeiler is und man die andern Module dann einfach hinten dran hängen kann.
     
    wulfen, 4. März 2016
    #7
  8. Beverly
    Beverly Erfahrener User

    Userform resetten, Urzustand wiederherstellen

    Hi,

    es ist doch kein Problem, z.B. BackColor abzufragen und nur die relevanten zu leeren:

    Code:
    Wie man Labellinhalte leert steht doch im Code...


    Userform resetten, Urzustand wiederherstellen grusz.gif
     
    Beverly, 4. März 2016
    #8
  9. Hi,

    ja ich möchte nicht den Inhalt leeren sonder das komplette Label aus dem Userform löschen. Habe deinen Code soweit mal angepasst und funktioniert auch bis auf das Löschen:

    For Each ctrElement In std_übersicht.Controls

    For i = 1 To anzahl_textf
    Select Case TypeName(ctrElement)
    Case "Label"
    If ctrElement.Name = i Then
    ctrElement.Caption = ""
    End If
    End Select
    Next i

    Next ctrElement

    End Sub

    Beim erstellen werden den variablen Feldern Namen zugewisen, momentan nur i, und die Label mit betreffenden Namen sollen komplett aus der Userform gelöscht werden. Danach setz ich die Höhe des Userforms zurück und führe meine Module neu aus, so habe ich ja auch den "Urzustand" wieder hergestellt.
     
    wulfen, 4. März 2016
    #9
  10. Habe den Code nun letzendlich folgendermaßen angepasst:

    Public Sub userform_reset()

    Dim ctrElement As Control

    For Each ctrElement In std_übersicht.Controls
    For i = 1 To anzahl_textf

    If ctrElement.Name = "Projekt" & i Or ctrElement.Name = "Arbeitsstunden" & i Or ctrElement.Name = "Überstunden" & i Then
    std_übersicht.Controls.Remove ctrElement.Name
    Exit For
    ElseIf ctrElement.Name = "Arbeitsstunden_Überschrift" Or ctrElement.Name = "Arbeitsstunden_Wert" Or ctrElement.Name = "Überstunden_Überschrift" Or ctrElement.Name = "Überstunden_Wert" Then
    std_übersicht.Controls.Remove ctrElement.Name
    Exit For
    End If
    Next i
    Next ctrElement

    std_übersicht.Height = 90

    anzahl_projekte_ermitteln
    std_je_projekt
    gr_f_stdübersicht
    textfelder_erz

    End Sub

    So wird eben manuell der Urzustand stück für stück wiederhergestellt.
    Werd mich die Tage aber auch ma an der Weiterführung von haklesoft´s Lösungsansatz probieren.

    Dank euch beiden für die Hilfe, schönes Wochenende *Smilie
     
    wulfen, 4. März 2016
    #10
  11. Hallo wulfen,

    ein paar Anmerkungen zu Deinem Projektcode:

    bei meinem Vorschlag brauchst Du ggf. nur die Einstellungen der beiden Eingabeelemente zu merken und könntest die nach dem erneuten Laden wieder einstellen, wenn das gewünscht ist.

    Du solltest Dein Query_Close überarbeiten, denn das macht die UserForm bisher mit .Hide nur unsichtbar und bricht das Schließen mit Cancel=True immer ab.

    Wenn Du das ohne Entladen zurücksetzen willst:
    Da Deine Ursprungsform nur fünf Steuerelemente kennt, kannst Du alles löschen, was nicht den ursprünglichen Namen entspricht. Z. B. so: Code:
    In zwei Modulroutinen hangelst Du Dich mit Mehrfach-IFs jeweils durch die Monate. Ein Einzeiler im Stile von y = std_übersicht.ListIndex + Offset täte es auch. Und wie man die letzte belegte Zeile einer Tabelle ermittelt, ist hier schon vielfach gezeigt worden.
     
    haklesoft, 4. März 2016
    #11
  12. Hi haklesoft,

    danke für den Hinweis. Ich werd mir das mal anschauen, könntest du mir nur erklären was y = std_übersicht.ListIndex + Offset genau macht, beschäftige mich noch nicht all zulang mit VBA und bin daher nicht so belesen.

    Und wie müsste ich mein Query_Close ändern, dass das Formular Entladen und geschlossen wird?
     
    wulfen, 4. März 2016
    #12
  13. Userform resetten, Urzustand wiederherstellen

    In y wird die laufende Nummer des gesuchten Sheets angegeben. Und korrekt muss es natürlich heißen y = std_übersicht.monat.ListIndex + 3.
    ListIndex von monat enthält die Nummer des gerade gewählten Monats (0-basiert) zu dem dann noch ein Offset von 3 zu addieren ist, um das richtige y zu erhalten.
    Im Fall des Entladens kann die ganze Procedure weg.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    haklesoft, 4. März 2016
    #13
  14. Hi,

    ah ok dnake für die Aufklärung *Smilie . Funktioniert wunderbar *grins
     
    wulfen, 6. März 2016
    #14
Thema:

Userform resetten, Urzustand wiederherstellen

Die Seite wird geladen...
  1. Userform resetten, Urzustand wiederherstellen - Similar Threads - Userform resetten Urzustand

  2. Userform unterdrücken - wenn Datei von andere Datei geöffnet wird

    in Microsoft Excel Hilfe
    Userform unterdrücken - wenn Datei von andere Datei geöffnet wird: Hallo, ich habe einer Excel-Datei X ein Userform vorgeschaltet, d.h. wenn die Datei X geöffnet wird, wird das Userform geöffnet und der Anwender zur Eingabe von paar Daten aufgefordert....
  3. UserForm in Office 2019 für MacOS fehlt

    in Microsoft Excel Hilfe
    UserForm in Office 2019 für MacOS fehlt: Hallo, ich wollte nach Hardwarewechsel auf Macbook im Office 2019 für MacOS eine UserForm erstellen und bin überrascht das ich keine Möglichkeit dazu finde, die Auswahlmöglichkeit im...
  4. Userform Login Benutzername in Zelle schreiben

    in Microsoft Excel Hilfe
    Userform Login Benutzername in Zelle schreiben: Hallo mal wieder ins Forum, ich habe mir nach einem Video ein Login nachgebaut. Das funktioniert auch einwandfrei. Hier der Code: Private Sub bttnAnmelden_MouseDown(ByVal Button As Integer, ByVal...
  5. Datum in Userform formatieren

    in Microsoft Word Hilfe
    Datum in Userform formatieren: Hallo! Ich habe folgende Herausforderung: Word 365. In einer Userform gibt es zwei Textboxen (TB_Datum und TB_Datum für Termin) In die Textbox TB_Datum soll ein Datum eingetragen werden können....
  6. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  7. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  8. UserForm wechseln

    in Microsoft Excel Hilfe
    UserForm wechseln: Hallo Vorweg der Hinweis, dass ich ein VBA-Programm habe, welches von einem anderen erstellt wurde der mir nicht mehr zur Verfügung steht. Habe Erweiterungen bisher mühsam durch Zusammentragen von...
  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