Anzeige
Archiv - Navigation
1160to1164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Textboxen mit schleife loeschen
hary
Hallo Alle zusammen
Bin wieder am ueben. Durch ein anderes Forum bin ich auf die Frage gestossen:
Wie loesche ich alle, zur Laufzeit erstellte TextBoxen, in Userform.
Hab die letzte Std. damit verbracht Codes aus dem Archiv auszuprobieren. Irgendwo der Wurm drin. Erstellt werden die Boxen mit folgendem Code.
Auch das loeschen klappt,aber es muss jedes mal der Button geklickt werden.
Hapert nur an der Schleife. Hab hier 2007, ob es daran liegt, dass die Codes aus dem Archiv nicht funzen, kann ich nicht pruefen.

Dim MyTextBox As Control
Private Sub CommandButton1_Click()
Dim MyTxt As Control
Dim Anzahl As Long
Dim stand
stand = 15
For Anzahl = 1 To 6
Set MyTextBox = UserForm1.Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)
With MyTextBox
.Left = 18
.Top = stand
.Width = 175
.Height = 20
End With
stand = stand + 30
Next
End Sub
Private Sub CommandButton2_Click()
'-----Hier muesste die Schleife rein -------------
UserForm1.Controls.Remove MyTextBox.Name
End Sub

Bitte um einen Schub's
mit einem Sommergruss
hary

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
vielleicht geht es so...
04.06.2010 15:29:27
Tino
Hallo,
Dim MyArray_TextBox
Private Sub CommandButton1_Click()
Dim MyTxt As Control
Dim Anzahl As Integer
Dim Stand As Single
Dim tmpAr()
Stand = 15
For Anzahl = 1 To 6
ReDim Preserve tmpAr(1 To Anzahl)
Set tmpAr(Anzahl) = UserForm1.Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)
With tmpAr(Anzahl)
.Left = 18
.Top = Stand
.Width = 175
.Height = 20
End With
Stand = Stand + 30
Next
MyArray_TextBox = tmpAr
End Sub
Private Sub CommandButton2_Click()
Dim i As Integer
If IsArray(MyArray_TextBox) Then
For i = LBound(MyArray_TextBox) To UBound(MyArray_TextBox)
Me.Controls.Remove MyArray_TextBox(i).Name
Next i
MyArray_TextBox = Empty
End If
End Sub
Gruß Tino
Anzeige
AW: Danke mT
04.06.2010 15:48:56
hary
Hallo Tino
vielen Dank
funzt wunderbar. damit kann ich mich dann dieses WE aufe Arbeit beschaeftigen. Ums zu verstehen, habs nicht so mit array ;-((
ohne lange zu suchen: kannst Du mir bitte noch erklaeren was dies bedeutet.
Dim tmpAr()
Variable ist klar, meine die Bedeutung von ()
nochmals danke
hary
Array und nicht Array
04.06.2010 16:11:02
Tino
Hallo,
durch die Klammer wird diese Variable zu einen nicht initialisierten Array.
Weil man nicht so ohne weitere prüfen kann ob ein Array initialisiert ist, übergebe ich diese am Ende an eine Variable vom Typ Variant, die dadurch erst zu einem Array wird, dies kann ich beim löschen prüfen um nicht auf einen Fehler zu laufen.
Gruß Tino
Anzeige
Zusatzanmerkung...
04.06.2010 16:14:36
Tino
Hallo,
richtiger wäre dieses tmpAr() mit dem richtigen Datentyp zu Deklarieren, also Dim tmpAr() As Control
Gruß Tino
Nu hab ich's. Danke Tino owT.
04.06.2010 16:20:26
hary
.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige