HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv

Beiträge zum Thread: VBA For Each

dieschmid
04.05.2026 13:03:22
VBA For Each
Onur
04.05.2026 14:23:45
AW: VBA For Each
dieschmid
04.05.2026 14:38:55
AW: VBA For Each
Onur
04.05.2026 14:44:20
AW: VBA For Each
Onur
04.05.2026 14:46:21
AW: VBA For Each
snb
05.05.2026 11:36:22
AW: VBA For Each
Herbert Grom
04.05.2026 15:32:21
AW: VBA For Each
dieschmid
04.05.2026 15:56:02
AW: VBA For Each
dieschmid
04.05.2026 19:03:42
AW: VBA For Each
Onur
04.05.2026 19:30:06
AW: VBA For Each
Yal
05.05.2026 17:32:37
AW: VBA For Each
Onur
05.05.2026 18:55:18
AW: VBA For Each
Yal
07.05.2026 17:54:13
AW: VBA For Each
RPP63
05.05.2026 06:19:58
AW: VBA For Each
dieschmid
05.05.2026 07:30:12
AW: VBA For Each
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
dieschmid
04.05.2026 13:03:22
VBA For Each
Hallo

Wie kann ich mit einer For Each Schleife in einem Formular den Value Wert einer Textbox ändern?

Vielen Dank im Voraus

Dieter
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Onur
04.05.2026 14:23:45
AW: VBA For Each
Wenn ich genauso allgemein spreche wie du es tust: Mit VBA.
Nebenbei bemerkt: For-Each für EINEN Wert und EINE Textbox ? For-Each (wie der Name schon sagt) nimmt man, um in einer Menge jedes einzelne Element zu durchforsten.
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
dieschmid
04.05.2026 14:38:55
AW: VBA For Each
Hallo

Ich will versuchen das Problem zu konkretisieren. Ich habe ein Formular (UserForm1). In diesem Formular liegen 11 Textboxen. (Textbox1 bis Textbox12). Die Textbox5 fehlt. Ich kann nun schreiben Textbox1. value = "", usw. Meine Frage ist, kann und wie kann man die Sache mit einer For Each Schleife lösen und muss das Formular bei der Durchführung geöffnet sein? VVielen Dank

Dieter
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Onur
04.05.2026 14:44:20
AW: VBA For Each
Lies dir das mal GENAU durch, dann weisst du, wie es geht.
Das mit "Userform geöffnet oder nicht" macht natürlich nur Sinn, wenn die Userform bereits befüllt ist. Wenn aber der User die Textboxen ausfüllt, kannst du natürlich nicht vorher schon irgend etwas überprüfen.
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Onur
04.05.2026 14:46:21
AW: VBA For Each
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
snb
05.05.2026 11:36:22
AW: VBA For Each
Es können in einem Userform keine Texboxes 'fehlen'. Wenn z.B. Textbox5 'fehlt' sollte man die Textboxen umbenennen, damit keine 'Lücke ' entsteht.

Mein Vorschlag:

Private Sub UserForm_Click()

For Each it In Controls
If TypeName(it) = "TextBox" Then it.Text = it.Name
Next
End Sub

Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Herbert Grom
04.05.2026 15:32:21
AW: VBA For Each
Hallo Dieter,

und wenn du es mit "For - Next" probierst, evtl. so:

Sub test()

Dim a%
For a = 1 To 12
If a = 5 Then
Else
Controls("TextBox" & a).Value = XXX
End If
Next a
End Sub


Servus
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
dieschmid
04.05.2026 15:56:02
AW: VBA For Each
Hallo Onur und Herbert Grom

Eure Antworten haben mir gut gefallen. Mir haben nur die Schlüsselworte Object und Controls gefehlt.

Vielen Dank

Dieter
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
dieschmid
04.05.2026 19:03:42
AW: VBA For Each
Hallo zusammen

Ich habe beide Versionen getestet und beide funktionieren. Die For - Schleife hat den Nachteil, dass sie manuell gepflegt werden muss. Wenn ein Element fehlt, muss es ausgeblendet werden. Die For Each - Schleife läuft darüber hinweg.

Schönen Abend

Dieter
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Onur
04.05.2026 19:30:06
AW: VBA For Each
Genau. Erstens ist es egal, wieviele es sind und zweitens hast du auch den Vorteil, dass der Code dann Lücken ignoriert (z.B. wenn du Textboxen 1 bis 8 hast, aber ohne die Textbox6).
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Yal
05.05.2026 17:32:37
AW: VBA For Each
Moin,

Sub test()

Dim a%
For Each a In Array(1,2,3,4,6,7,8,9,10,11,12)
Controls("TextBox" & a).Value = XXX
Next a
End Sub

VG
Yal
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Onur
05.05.2026 18:55:18
AW: VBA For Each
Hallo Yal,

Warum dann überhaupt "For Each", wenn die Anzahl bereits bekannt ist ? Der Vorteil von "For Each" ist doch, dass du weder Anfangs- noch Endwert angeben muss und zudem auch noch Lücken ignoriert werden. Dein Code downgradet "For Each" unter Zuhilfenahme eines Arrays zu einer "For Next"-Schleife.


Gruß
Onur
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Yal
07.05.2026 17:54:13
AW: VBA For Each
Hallo Onur,

ja, in der Tat. Ich habe nicht soviel über die Sinnhaftigkeit des Codes philosophiert, sondern einfach die Situation genutzt, um einen Beispiel für einen For Each mit vordefinierte Liste zu geben.

Sinnvoller ist, wenn die Auflistung eher heterogen wäre:
For Each farbe In Array("blau", "grün", "lila")

VG
Yal
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
RPP63
05.05.2026 06:19:58
AW: VBA For Each
Moin!
Ich beziehe mich jetzt mal konkret auf den Satz:
»Ich kann nun schreiben Textbox1. value = "", usw.«
Wenn Du alle Controls auf den Ausgangswert zurücksetzen willst, brauchst Du keine Schleife!
Es reicht
Unload Me

UserForm1.Show

Gruß Ralf
Forumbeitrag
Excel-Version des Fragestellers:
2013
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
dieschmid
05.05.2026 07:30:12
AW: VBA For Each
Danke Toller Tipp!!!!