Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Alle Felder einer UserForm automatisch löschen - for each
zurück: Summe....? weiter: falsche Addition, Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Stoefran
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Mai 2007, 09:07
Rufname:

Alle Felder einer UserForm automatisch löschen - for each - Alle Felder einer UserForm automatisch löschen - for each

Nach oben
       Version: Office 2003

Hallo,

ich möchte in einer UserForm sämtliche Felder löschen, dabei allerdings nicht jedes Feld explizit ansprechen. Über eine for each Schleife z.B. möchte ich, dass alle Felder, die sich auf dem Formular befinden, gelöscht werden...

Gibt es da eine elegante Lösung für??

Danke schon mal Wink

Stoefran
Case
Coder


Verfasst am:
03. Mai 2007, 09:19
Rufname: Case
Wohnort: Schwäbisch Hall


AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

so der Spur nach:

http://www.office-loesung.de/ftopic89247_0_0_asc.php&highlight=textbox

Picke Dir raus, was Du brauchst. Dort wird auch in Tabellenblättern gelöscht - diese Codezeilen schmeisst Du einfach raus - also Vorsicht.

Servus
Case

_________________
Servus
Case
Stoefran
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Mai 2007, 10:11
Rufname:

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Super, jetzt muss ich nur noch rausfinden, wie ich das auf die UserForms in Excel anwenden kann...

Da eine Idee??

Code:
Dim ctrElement As Control
   
      For Each ctrElement In Controls
        Select Case TypeName(ctrElement)
          Case "TextBox": ctrElement = ""
          Case "CheckBox": ctrElement = False
          Case "ComboBox": ctrElement.clear
          Case "ListBox": ctrElement.clear
          Case "OptionButton": ctrElement = False
        End Select
      Next


Sowas in der Art brauche ich ja...

Stoefran
Case
Coder


Verfasst am:
03. Mai 2007, 10:27
Rufname: Case
Wohnort: Schwäbisch Hall

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

was willst Du denn zurück setzen? Nur TextBoxen? oder auch andere Steuerelemente? Ein paar bitte Infos noch.

Servus
Case

_________________
Servus
Case
Stoefran
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Mai 2007, 10:31
Rufname:


AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

eigentlich nur TextBoxen, CommandButtons, OptionButtons, ListBoxen, das wärs... also die reinen Eingabefelder... Labels sollen nicht gelöscht werden. Es wäre auch super, wenn man die UserForm noch angeben könnte, da die Methode einfach nur in VBA aufgerufn wird und hinter keinem Button steckt!

Danke

Wenn ich den Code so einfüge, wie ich es eben geschrieben hatte, dann kommt immer die Fehlermeldung: Object required!

Stoefran
Case
Coder


Verfasst am:
03. Mai 2007, 10:44
Rufname: Case
Wohnort: Schwäbisch Hall

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

also Du willst schon den Inhalt rauslöschen? Oder die Steuerelemente selber?

Wenn Inhalt, dann probiere es mal so:

Code:
Private Sub CommandButton1_Click()
    Dim ctrElement As Control
    For Each ctrElement In Controls
        Select Case TypeName(ctrElement)
            Case "TextBox": ctrElement = ""
            Case "CheckBox": ctrElement = False
            Case "ListBox", "ComboBox"
            If ctrElement.RowSource = "" Then
                ctrElement.Clear
            Else
                ctrElement.ListIndex = -1
            End If
        End Select
    Next
End Sub


Code wird über einen CommandButton mit Name "CommandButton1" ausgeführt.

Servus
Case

_________________
Servus
Case
Stoefran
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Mai 2007, 10:56
Rufname:

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

leider geht der fehler immer noch nicht weg...

Code:
Dim ctrElement As Control
   
      For Each ctrElement In [b]userForm[/b]
        Select Case TypeName(ctrElement)
          Case "TextBox": ctrElement = ""
          Case "CheckBox": ctrElement = False
          Case "ComboBox": ctrElement.clear
          Case "ListBox": ctrElement.clear
          Case "OptionButton": ctrElement = False
        End Select
      Next


Ich muss ja eine spezielle UserForm durchlaufen, die ich jetzt mal in den Code eingebunden habe... sonst weiß er ja nicht, wo er das machen soll, also in welcher UserForm. Allerdings Fehler: Object required...
Case
Coder


Verfasst am:
03. Mai 2007, 11:04
Rufname: Case
Wohnort: Schwäbisch Hall

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

könntest Du mal bitte beschreiben, was Du eigentlich machen möchtest?

Ich kann es nicht erraten. Und es bringt nichts, wenn Du irgendwelche UserFormnamen in den Code schreibst.

Willst Du (und wenn ja welche) Steuerelemente löschen? Oder deren Inhalt?

Servus
Case

_________________
Servus
Case
Stoefran
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Mai 2007, 11:12
Rufname:

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Ok, also ich habe eine Reihe von UserFormen, die als Eingabemasken fungieren. Daher beinhalten diese immer TextBoxen und CommandButtons usw...

Wenn der Anwender das Tool (über einen Button wird die erste UserForm aufgerufen) startet, sollen gleichzeitig alle UserFormen gelöscht (also auf den Ursprungszustand ohne daten) werden. Damit möchte ich verhindern, dass noch alte Daten drin sind!

Ich muss also über eine Methode clear_UserForm1 in meinem Modul1 ide Felder löschen, daher ist es für mich wichtig, dass ich die UserForm angeben kann, da ich natürlich für jede UserForm diesen Funktionsaufruf machen muss... Es bringt mir nichts, wenn ich den Code hinter das Formular packe, da ich ihn nicht bei Aufruf oder Änderung ausführen will.

So besser? Wink
Case
Coder


Verfasst am:
03. Mai 2007, 11:52
Rufname: Case
Wohnort: Schwäbisch Hall

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

OK - aber eine UserForm ist zunächst einmal "leer", wenn Du sie startest. Es sei denn, Du befüllst sie im Initialize- bzw. Activate-Ereignis.

Also brauchst Du da nichts zurück setzen.

Wenn der Anwender dann Eingaben macht und die per Code irgendwohin geschrieben werden, kannst Du ja im "gleichen Atemzug" die entsrechenden Eingaben löschen.

Ansonsten würde ich das mit dem Code von mir im Activate-Ereignis der jeweiligen UserForm machen - mit dem zuletzt geposteten. Also etwa so:

Code:
Private Sub UserForm_Activate()
    Dim ctrElement As Control
    For Each ctrElement In Controls
        Select Case TypeName(ctrElement)
            Case "TextBox": ctrElement = ""
            Case "CheckBox": ctrElement = False
            Case "ListBox", "ComboBox"
            If ctrElement.RowSource = "" Then
                ctrElement.Clear
            Else
                ctrElement.ListIndex = -1
            End If
        End Select
    Next
End Sub


Servus
Case

_________________
Servus
Case
Stoefran
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Mai 2007, 12:53
Rufname:

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Super, danke, das mit dem löschen klappt wunderbar, nur bleibt mein Problem, dass ich diesen Aufruf in meinem Modul haben möchte und nicht als Initialize oder Activate Ereigniss!!! Die Daten sollen in den UserForms bleiben, bis der Anwender fertig ist, daher will ich ganz am Ende durch den Aufruf der Methode alle UserForms löschen.

Gibt es da eine Lösung für?

Ich muss dem Code irgendwie sagen können, für welche UserForm er das ausführen soll!

Stoefran
Case
Coder


Verfasst am:
03. Mai 2007, 12:59
Rufname: Case
Wohnort: Schwäbisch Hall

AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Hallo,

das geht so der Spur nach:

http://www.office-loesung.de/fpost598360.php#598360

Servus
Case

_________________
Servus
Case
Stoefran
Im Profil kannst Du frei den Rang ändern


Verfasst am:
03. Mai 2007, 13:00
Rufname:


AW: Alle Felder einer UserForm automatisch löschen - for eac - AW: Alle Felder einer UserForm automatisch löschen - for eac

Nach oben
       Version: Office 2003

Moin,

ich hab die Lösung grad selber gefunden, ich habe einfach eine Methode public sub clearFields() in der UserForm erstellt, die den Code enthält.

Damit kann ich die Methode am Ende aufrufen und die Daten bleiben so lange erhalten, danke nochmal für deine Geduld Wink

Stoefran
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Zellen Automatisch Farbig hinterlegen 1 DirkR 1493 31. Mai 2005, 14:59
monika2402 Zellen Automatisch Farbig hinterlegen
Keine neuen Beiträge Excel Formeln: automatisch nur aufrunden?! 2 RobinsonHamburg 3545 30. Apr 2005, 19:10
Gast automatisch nur aufrunden?!
Keine neuen Beiträge Excel Formeln: Automatisch Verlinken 13 Gast 4649 19. Apr 2005, 13:18
Gast Automatisch Verlinken
Keine neuen Beiträge Excel Formeln: Zeile automatisch einfügen (ab Excel 97) 1 frechmops6 1799 16. Apr 2005, 22:22
Kuwe Zeile automatisch einfügen (ab Excel 97)
Keine neuen Beiträge Excel Formeln: Auto-Filter aktualisiert nicht automatisch 2 Michi 1325 04. März 2005, 13:10
Michi Auto-Filter aktualisiert nicht automatisch
Keine neuen Beiträge Excel Formeln: Zelle im 14 Tage Rhythmus automatisch generieren lassen 2 MrMr 2413 21. Feb 2005, 07:55
AnBo Zelle im 14 Tage Rhythmus automatisch generieren lassen
Keine neuen Beiträge Excel Formeln: Farbe einer Zelle bei bestimmten Wert automatisch verändern 4 Jatze 3564 03. Feb 2005, 23:48
Jatze Farbe einer Zelle bei bestimmten Wert automatisch verändern
Keine neuen Beiträge Excel Formeln: Selbstaktualisierende Felder 5 aquaholic 676 13. Jan 2005, 15:45
xyzdef Selbstaktualisierende Felder
Keine neuen Beiträge Excel Formeln: Zeilen mit doppelten Werten löschen 6 Sebowsky 1208 06. Jan 2005, 22:26
Sebowsky Zeilen mit doppelten Werten löschen
Keine neuen Beiträge Excel Formeln: Datensätze automatisch kopieren 2 Gast 2731 04. Jan 2005, 20:57
Gast Datensätze automatisch kopieren
Keine neuen Beiträge Excel Formeln: Doppelte Einträge aus Excel Tabellen löschen 3 Richkid 2831 09. Dez 2004, 15:45
Reinhard Doppelte Einträge aus Excel Tabellen löschen
Keine neuen Beiträge Excel Formeln: Felder um davorstehende Feld+neuer betrag erhöhen. 2 spiderxl 1011 22. Okt 2004, 07:47
spiderxl Felder um davorstehende Feld+neuer betrag erhöhen.
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editoren Forum