Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
928to932
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
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textbox entleeren

Textbox entleeren
25.11.2007 09:57:00
Gerhard
Moin moin...
Habe ein etwas größeres UF. Beim verlassen bzw. specihern möchte ich die Textboxen, Comboboxen entleeren.
Funktionieren tut das ja mit
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
Combobox1 = ""
.
.
.
usw.
Insgesamt sind es 34 Textboxen und 7 Comboboxen.
Gibt es hierfür eine "vereinfachte" Schreibeweise wie z.B. das mit einer Schleife o.ä. lösen könnte, damit ich da nicht 41 Zeilen schreiben muss.
Schematisch in etwa so (vllt denk ich da falsch?)
Schleife Tu von 1-34
i = 1 bis 34
Textbox &i = ""
oder so ähnlich...
Ich probier da schon seit ner Stunde rum, die Suche gibt ned wirklich dafür was her und so fit bin ich noch ned , das ich das Lösen könnte. die Schleifenfunktion bin ich gerade erst am lernen und wenn man sich alles selbst "erlesen" muss tut man sich schon ein weinig hart...
Wäre Dankbar für Hilfe
Gruß Gerhard

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

Betreff
Datum
Anwender
Anzeige
AW: Textbox entleeren
25.11.2007 10:02:00
Hajo_Zi
Hallo Gerhard,
mal ohne Testung:

Private Sub CMD_Leeren_Click()
Dim ObCb As Object
For Each ObCb In Me.Controls
If TypeName(ObCb) = "TextBox" Then
ObCb.Value = ""
ElseIf TypeName(ObCb) = "CheckBox" Then
ObCb.Value = False
ElseIf TypeName(ObCb) = "OptionButton" Then
ObCb.Value = False
ElseIf TypeName(ObCb) = "ComboBox" Then
ObCb.Clear
End If
Next ObCb
End Sub



AW: Textbox entleeren
25.11.2007 10:03:41
Renee
Hi Gerhard,
Beim verlassen bzw. specihern möchte ich die Textboxen
Wenn Du statt UserForm.Hide die Methode Unload UserForm anwendest, werden alle Objekte beim nächsten Laden in ihrem Ursprungszustand gezeigt.
GreetZ Renee

Anzeige
AW: Textbox entleeren
25.11.2007 10:04:57
mumpel
Hallo!
Zum Beispiel:

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 34
Controls("Textbox" & i).text = ""
i = i + 0
Next i
For i = 1 To 7
Controls("Combobox" & i).text = ""
i = i + 0
Next i
End Sub

Gruß, Rene

AW: Textbox entleeren
25.11.2007 10:57:00
Gerhard
Erst mal Danke an alle!!!
Also soweit weg war ich nicht.
Was meine schwierigkeit beim erstellen von schleifen noch ist, ist es die richtigen "worte" zu finden
Bei Renes Bsp z.B. das "Controls" das war es eigentlich was mir bei meiner Schleife noch gefehlt hat.
Wie macht ihr es oder habt es gelernt, zu wissen, das hier z.B. Controls benötigt wird. Kann man das irgendwie "nachlesen" oder gibt hier die Taste F1 evtl. Hilfe? Wenn ja, wie muss ich die anwenden, weil die Taste F1 hat mir noch ned wirklich bei der Lösung eines Problems geholfen :)
Gruß und Danke nochmals an ALLE!!!
Gerhard

Anzeige
AW: Textbox entleeren
25.11.2007 11:01:13
Hajo_Zi
Hallo Gerhard,
beim programmieren sollte man sprechende Variablen und auch Steuereelementenamen benutzen. Der Name Textbox1 sagt nichts zum Inhalt, TxT_Ort da sieht man schon aus dem Namen um was es geht. Hast Du diesen Ansatz berücksichtigt kommst Du nicht weit mt Controls.
Gruß Hajo

AW: Textbox entleeren
25.11.2007 11:16:00
Gerhard
Hallo Hajo
Also wenn ich das jetzt richtig verstehe, soll ich die TextBox anderst benennen? Also z.B. Textbox_Artikelnummer?
Gruß gerhard

AW: Textbox entleeren
25.11.2007 11:19:00
Hajo_Zi
Hallo Gerhard,
das war mein Vorschlag, ich finde es ist einfacher für die Programmierung. Es gibt so allgemeine Kürzel für die Steuerelemente z.B. Txt für Textbox
Aber beachte dann geht es nicht mehr mit Controls, da mußt Du dann den TypeName abfragen.
Gruß Hajo

Anzeige
AW: Textbox entleeren
25.11.2007 11:27:00
mumpel
Ich habe das hier in diesem Forum gelernt. Ich selber bleibe bei Textbox, da sich schon aus der Struktur der UF ergibt, was in der Textbox steht (benutze Labels als Überschrift, die sagen, was in die Textbox gehört). Da muss ich die Textboxen nicht extra umbenennen.
@ Hajo
Dein Code ist zwar gut, leert aber alle Controls. Also auch nicht optimal. Was ist, wenn man nur bestimmte Controls leeren möchte? Für jedes Control eine eigene Codezeile bläht den Code unnötig auf. Der Index des Controls dürfte somit besser sein.

AW: Textbox entleeren
25.11.2007 11:33:00
Hajo_Zi
Hallo Nick,
ich zwinge hier keinem was auf, wer sich ein Zettel hinlegen will und dort aufschreibt was in welcher Textbox seht oder andere Mittel einsetzt ist mir egal. Ich habe nur gute Erfahrung gemacht mit sprechenden Nmaen.
Mein Code leert nur die Steuerelemente die im Code angesprochen werden. Ein Forum liefert Ansätze, die Anpassung an die eigenen Bedürfnisse muss man schon selber machen.
Gruß Hajo

Anzeige
AW: Textbox entleeren
25.11.2007 12:12:00
Renee
Hello Rene (fehlt nur noch ein e ;-)
Ich finde beide Ansätze (Namen oder Index) haben Vor- und Nachteile.
Allerdings bin ich bei der Bennenung eher Hajo's Meinung, das aussagekräftige Namen der Controls den Code übersichtlicher und lesbarer machen. Was sagt schon eine Sub CommandButton1_Click() aus ? Eine Variante die ich gerne anwende, wenn es um das gezielte ansprechen von Controls geht ist dieses Beispiel:

Private Sub cbtTxtBoxenLeeren_Click()
Const thisControls = "txbVorname,txbNachname,TextBox26"
Dim oC As Object
For Each oC In ufAdresse.Controls
If InStr(thisControls, oC.Name) > 0 Then oC.Value = ""
Next
End Sub


Hier werden alle bennanten Controls der Userform ufAdresse die mit der Konstante übereinstimmen auf leer ("") gesetzt. Damit muss ich im Code nur an einer einzigen Zeile, nämlich der Konstante eine Änderung vornehmen, wenn ich Controls hinzufügen oder weglassen will.
GreetZ Renee

Anzeige
AW: Textbox entleeren
25.11.2007 11:05:00
Renee
Hi Gerhard,
Benutze den Object-Browser des VB-Editors. Dort kannst du dir die Objektstruktur und Methoden anschauen.
GreetZ Renee

AW: Textbox entleeren
25.11.2007 11:16:00
Gerhard
Hi Renee
Joo dat kenn ich dat Ding :)
Nur wie gesacht, das zu erkennen das genau ich das benötige... dat is meine Schwierigkeit noch. Nach was soll ich suchen, wenn ich ned weiss nach was ich eigentlich suchen soll... *lach* Naja egal, ich werds schon "irgendwie" noch lernen...
Gruß Gehrard

AW: Textbox entleeren Danke euch allen!! o.T.
25.11.2007 13:45:27
Gerhard
Danke nochmals für die Anregungen.
Mit Hajo's Vorschlag werde ich noch ein wenig warten, bis ich diesen "umsetzen" kann. Ich lerne erst und kann mit der herkömmlichen Schreibweise (und in jeder Zeile nen Komentar) so meinen Quelltext immo noch ganz gut verstehen.
Anwenden werde ich fürs erste Rene's Vorschlag.
Auf jeden Fall habe ich mir hier diese Tips kopiert und werde (wenns dann irgendwann mal soweit is :) ) darauf zurückgreifen...
Gruß Gerhard
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige