Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
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
Inhaltsverzeichnis

VBA "As Control"

VBA "As Control"
19.06.2022 13:03:26
Joschi
Hallo Forum,
in einem Beispiel, das ich im Internet in Verbindung mit "Userform dynamisch erstellen" gefunden habe. gibt es folgende Definition:
Dim tboxen As Control
Später wird diese Variable wie folgt verwendet:
Set tboxen = myForm.Designer.Controls.Add
Bei der Ausführung erhalte ich die Fehlermeldung "Benutzerdefinierter Type nicht definiert"
Welcher Verweis fehlt mir? Bisher hatte ich zusätzlich "Microsoft Visual Basis for Appliacions Extensibility" aktiviert.
Gruß Joschi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA "As Control"
19.06.2022 13:47:07
Alwin
Hallo Joschi,
da fehlt noch was hinten dran:

Set tboxen = myForm.Designer.Controls.Add("Forms.TextBox.1", "TextBox1", True)
ich gehe mal davon aus myForm ist die Userform und Designer ein Rahmen oder so was.
Falls das so nicht ist, dann:

Set tboxen = UserForm1.Controls.Add("Forms.TextBox.1", "TextBox1", True)
Wenn du mehrere Textboxen erzeugen willst, kann man das mit einer For/Next Schleife machen:

Option Explicit
Private Sub UserForm_Initialize()
TextboxenErzeugen
End Sub
Private Sub TextboxenErzeugen()
Dim tboxen As Control, i As Long, lngTop As Long
lngTop = 30
For i = 1 To 6
Set tboxen = UserForm1.Controls.Add("Forms.TextBox.1", "TextBox" & i, True)
With tboxen
.top = lngTop + 20
.Left = 20
lngTop = .top
End With
Next i
End Sub
Gruß Uwe
Anzeige
AW: VBA "As Control"
19.06.2022 15:11:23
Joschi
Hallo Uwe.
Mein Problem war nicht die SET-Anweisung, sondern bereits die Definition als "as Control".
Ich wollte auch nicht den kompletten Code kopieren.
Gruß Joschi
AW: VBA "As Control"
19.06.2022 13:54:38
Nepumuk
Hallo Joschi,
dafür brauchst du einen Verweis auf die FM20.dll. Den erzeugst du, indem du einmal ein UserForm in dein Projekt einfügst. Das kannst du anschließend wieder löschen. Wenn du das nicht willst, dann musst du tboxen als neutrales Objekt (Dim tboxen As Object) deklarieren.
Gruß
Nepumuk
AW: VBA "As Control"
19.06.2022 15:13:12
Joschi
Hallo Nepumuk.
Danke für den Hinweis. Habe den Verweis aktiviert, und der Code funktioniert nun.
Allerdings habe ich ein Problem mit FM20.DLL. Doch dafür mache ich einen eigenen Tread auf.
Gruß Joschi
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige