Registriert seit: 30.12.2014
Version(en): 2010
Hallo Forum,
ich habe mir eine Userform mit mehreren Textboxen erstellt,
jetzt möchte ich wenn ich neue Daten eingenen möchte das die Inhalte der Textboxen gelöscht wird!
die Textboxen habe ich zur besseren bearbeitung umbenannt. z.B txtDatum, txtName, txtEingang usw.
Gibt es eine elegantere Lösung als: txtDatum = "" ?
Gruß Klaus
Gruß Klaus
es Grüßt der niederRhein! :17:
Office 2010
Registriert seit: 01.11.2014
Version(en): 2007, 2010
Hallo Klaus,
hier eine kleine Prozedur mit der Du diverse Steuerelemente zurücksetzen kannst, wenn Du Dir die Prozedur
auf einen CommandButton legst:
Code:
Sub SteuerelementeZurücksetzen_Click()
Dim Steuerelement As Control
Application.ScreenUpdating = False
Select Case TypeName(Steuerelement)
Case "TextBox": Steuerelement = ""
Case "CheckBox": Steuerelement = False
Case "ComboBox": Steuerelement = ""
Case "ListBox": Steuerelement =""
Case "OptionButton": Steuerelement = False
End Select
Application.ScreenUpdating = True
End Sub
Gruß
Max
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Klaus,
wenn alle Textboxen geleert werden sollen, kannst Du sie so in einer chleife leeren:
Code:
Private Sub CommandButton1_Click()
Dim oControl As Control
For Each oControl In Me.Controls
If Left(oControl.Name, 3) = "Txt" Then
oControl = ""
End If
Next
End Sub
Dabei wird davon ausgegangen, dass die Bezeichnungen immer mit "Txt" beginnen.
Wenn Du einzelne ausschließen möchtest, muss dann noch eine weitere If Abfrage rein genommen werden.
Gruß Atilla
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Max,
fehlt da nicht die For Each Schleife:
Code:
Private Sub CommandButton1_Click()
Dim Steuerelement As Control
For Each Steuerelement In Me.Controls
Select Case TypeName(Steuerelement)
Case "TextBox": Steuerelement = ""
Case "CheckBox": Steuerelement = False
Case "ComboBox": Steuerelement = ""
Case "ListBox": Steuerelement = ""
Case "OptionButton": Steuerelement = False
End Select
Next
End Sub
Gruß Atilla
Registriert seit: 30.12.2014
Version(en): 2010
Hallo Max,
bei deinem Beispiel, gibt er eine Fehlermeldung an das die Variable nich deklariert ist!
ich habe Variable zwar deklariert, warscheinlich aber falsch!
Dim Steuerelement As Object
Hallo Atilla,
bin Beispiel funktioniert, muß aber immer zweimal das Makro starten,
da immer eine Textbox erst beim zweiten mal geleert wird.
Gruß Klaus
Gruß Klaus
es Grüßt der niederRhein! :17:
Office 2010
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Klaus,
das kann ich nicht nachvollziehen.
Dann müsste bei dir noch irgendwo Code sein, der das Löschen beim ersten mal verhindert.
Ich hatte in Max Version etwas ergänzt, hast du es mit meiner Ergänzung mal getestet.
Gruß Atilla
Registriert seit: 01.11.2014
Version(en): 2007, 2010
(29.01.2015, 12:59)atilla schrieb: Hallo Max,
fehlt da nicht die For Each Schleife:
...
Hallo Atilla,
natürlich
.
Danke für die Ergänzung und sorry Klaus.
Gruß
Max
Registriert seit: 01.11.2014
Version(en): 2007, 2010
(29.01.2015, 13:59)Nukleus schrieb: Hallo Max,
bei deinem Beispiel, gibt er eine Fehlermeldung an das die Variable nich deklariert ist!
ich habe Variable zwar deklariert, warscheinlich aber falsch!
Dim Steuerelement As Object
...
Gruß Klaus
Hallo Klaus,
wahrscheinlich ist das beim Kopieren verloren gegangen.
Oben im Code steht es drin.
Gruß
Max
Registriert seit: 30.12.2014
Version(en): 2010
Guten morgen ihr beiden,
ich möchte mich bei euch , Max und Atilla bedanken!!! :43:
es lag wohl am Blattschutz, das nicht sofort alle Textboxen zurück gesetzt worden sind,
jetzt funktionieren beide Makros!
Vielen Dank!
Gruß Klaus
es Grüßt der niederRhein! :17:
Office 2010