Index

hallo, alle vba experten…

ich möchte folgendes machen:

for n = 1 to 10
textbox1 = blablabla
next n

ich möchte nach jedem schleifendurchlauf textbox2, textbox3, textbox4 usw erhalten.
geht das und wie mache ich das?

danke im voraus

es grüßt euch nikodemo

Hallo,

hallo, alle vba experten…

Ich habe zwar von vba keinen blassen schimmer. Aber vba und vb sind fast identisch und vb kann ich ein wenig :smile:

ich möchte folgendes machen:

for n = 1 to 10
textbox1 = blablabla
next n

ich möchte nach jedem schleifendurchlauf textbox2, textbox3,
textbox4 usw erhalten.
geht das und wie mache ich das?

Wieso arbeitest du nicht mit Indexen ?

Aber ich weiss zwar net was du genau möchtest!
1:Möchtest du nur den Namen
2:über die Schleife die Steuerelemente ansprechen?

'Lösung zu 1
For n=1 to 10
 Textbox & cstr(n) ' Name Textbox1, Textbox2 etc.
Next n

'Lösung zu 2
For n=1 to 10
 Me.Controls(Textbox & cstr(n)).Text="Dein Text ..."
Next

ist ungetestet, sollte aber laufen :smile:

danke im voraus

Nichts zu danken :wink:

es grüßt euch nikodemo

MfG Alex

hi anno, scön das du noch wach bist.

also: ich möchte 10 textboxen ansprechen, ohne das ich sie einzeln bezeichnen muß

statt
textbox1
textbox2
textbox3
usw

möchte ich
for n = 1 to 3
textbox(n)
next n

alles chlor?

dein nikodemo

Hallo Niko,

hi anno, scön das du noch wach bist.

also: ich möchte 10 textboxen ansprechen, ohne das ich sie
einzeln bezeichnen muß

Das macht die 2 Variante :wink:

Über controls(Name) kannst du ein Steuerelement ansprechen
Me bezieht sich auf das aktuelle Formular
den Namen kannst du mittels textbox & cstr(Zaehlervariable) zusammensetzen.
Mit Cstr erfolgt nur eine Umwandlung in ein String :wink:

mfg alex

Hallo Alex,

Das macht die 2 Variante :wink:

ich hab keine variante getestet weil sie beide erstmal den Debugger wecken *schätz*

Scheinbar ist in NET vieles möglich was in VB nicht so ist und in Vba schon mal gar nicht.

Gruß
Reinhard

Hallo Reinhard,

Scheinbar ist in NET vieles möglich was in VB nicht so ist und
in Vba schon mal gar nicht.

Jein, in .NET hast du bereits vorgefertigte Klassen und greifst nur darauf zu. Unter VB musst du halt erst die ganzen Funktionen mittels diversen API Aufrufen nachbauen :wink:

Aber die Lösung die ich gepostet habe, läuft definitv unter VB6, VB5 muesste es auch tun, und VBA denke ich dann auch mal

For n=1 to 10
 Me.Controls(Textbox & cstr(n)).Text="Dein Text ..."
Next

MfG Alex

Aber die Lösung die ich gepostet habe, läuft definitv unter
VB6, VB5 muesste es auch tun, und VBA denke ich dann auch mal

For n=1 to 10
Me.Controls(Textbox & cstr(n)).Text=„Dein Text …“
Next

Hallo Alex,

ja, sie läuft unter VB5, aber nicht in VBA.
In Vba müssen Anführungszeichen benutzt werden bei Controls(…)
(die zwei Textboxen befinden sich in einer userform)

Private Sub CommandButton1\_Click()
Dim n
For n = 1 To 2
 Me.Controls("TextBox" & CStr(n)).Text = "Dein Text ..."
Next
End Sub

Gruß
Reinhard

TextBox über Index ansprechen

ich möchte folgendes machen:

for n = 1 to 10
textbox1 = blablabla
next n

Hallo Niko,

befinden sich die TextBoxen auf einem Tabellenblatt, dann so:

Private Sub CommandButton1\_Click()
Dim n
For n = 1 To 2
 ActiveSheet.OLEObjects("TextBox" & n).Object.Text = n & " Dein Text ..."
Next
End Sub

Gruß
Reinhard