Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Namen von Dynamisch erzeugten TextBoxen deklariere

Namen von Dynamisch erzeugten TextBoxen deklariere
18.08.2016 14:13:18
Dynamisch
Hallo an Alle,
ich habe folgendes Problem. Ich im untenstehenden Code es geschafft, dass mir eine UserForm mit eine vielzahl an TextBoxen erzeugt wird. Jedoch finde ich nicht herraus wie diese Textboxen nun heißen.
Immer wenn ich jetzt versuche die Werte der Textboxen auszulesen stehe ich vor dem Problem, dass ich nicht den Namen der einzelnen Textboxen kenne und somit immer die meldung erhalten (Variable nicht definiert)
Würde mich freuen, wenn ihr mich in die richtige Richtung schubsen könnt.
Dim theTextBox As Object
Dim textBoxCounter As Long
For textBoxCounter = 1 To AnzahlKontenPrämie1
Set theTextBox = KontoauszügePrämie.Controls.Add("Forms.TextBox.1", "Kontostand" & textBoxCounter, True)
With theTextBox
.Value = Sheets("Datenbank Konten Prämie").Range("L" & (textBoxCounter + 1)).Value
.Left = 90
.Width = 120
.Top = 6 + (36 * textBoxCounter)
End With
Next
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen von Dynamisch erzeugten TextBoxen deklariere
18.08.2016 14:18:18
Dynamisch
Hi
statt sich mit zur Laufzeit erzeugten Steuerelementen herumzuärgern, könntest du nicht auch eine Listbox verwenden?
gruß Daniel
AW: Namen von Dynamisch erzeugten TextBoxen deklariere
18.08.2016 14:27:55
Dynamisch
Hi Daniel,
eine Listbox bringt micht denke ich nicht weiter. Zum einen wegen der Anwenderergonomie und zum anderen da ich in der Listbox je Zeile immer nur einen wert bearbeiten muss.
LG Christof
Anzeige
Zur Laufzeit erzeugte TextBoxen ansprechen...
18.08.2016 15:23:12
Case
Hallo, :-)
packe dir folgendes mal in eine leere UserForm und lass es rennen: ;-)
Option Explicit
Private Sub UserForm_Activate()
Dim MyBox As Control
Dim MyTxt As Control
Dim lngTMP As Long
With Me
For lngTMP = 1 To 5
Set MyTxt = .Controls.Add("Forms.TextBox.1", "TextBox" & lngTMP, True)
With MyTxt
.Left = 18
.Top = 6 + (36 * lngTMP)
.Width = 175
.Height = 20
End With
Set MyTxt = Nothing
Next lngTMP
End With
For Each MyBox In Me.Controls
If TypeName(MyBox) = "TextBox" Then
MyBox.Value = "Test" & Int((100 * Rnd) + 1)
End If
Next MyBox
MsgBox Me.Controls("TextBox3").Text
End Sub
Servus
Case

Anzeige
Zur Laufzeit erzeugte TextBoxen ansprechen...
18.08.2016 15:44:53
Case
Hallo, :-)
bzw. wenn Du eine Laufvariable hast, kannst du die Textboxen auch über "Controls.Item" ansprechen: ;-)
MsgBox Me.Controls.Item("TextBox" & lngX).Value
Servus
Case

Anzeige
AW: Zur Laufzeit erzeugte TextBoxen ansprechen...
18.08.2016 16:35:29
Christof
Vielen Dank hat mir sehr geholfen
AW: Zur Laufzeit erzeugte TextBoxen ansprechen...
18.08.2016 17:27:32
Christof
Was mach ich nun verkerht ?
Sheets("Datenbank Konten Prämie").Range("L" & (EintragCounter + 1)).Value = Me.Controls("Kontostand" & EintragCounter).Value
bin echt am verzweifeln
AW: Zur Laufzeit erzeugte TextBoxen ansprechen...
18.08.2016 17:35:29
Christof
So hat sich erledit der fehler lag zuvor in der Schleife :D
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige