Ich habe zwar von vba keinen blassen schimmer. Aber vba und vb sind fast identisch und vb kann ich ein wenig
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
also: ich möchte 10 textboxen ansprechen, ohne das ich sie
einzeln bezeichnen muß
Das macht die 2 Variante
Ü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
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
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
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