Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1548to1552
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: Textbox mit Change-Event dynamisch erstellen

VBA: Textbox mit Change-Event dynamisch erstellen
24.03.2017 14:08:18
Bernd
Servus zusammen,
eine Frage an die Profis:
Kann ich bei der Initialisierung einer Userform TextBoxen erstellen und dahinter auch gleich das Change-Event per Makrocode hinterlegen? Der zu hinterlegende Code ist immer gleich.
Ich lasse per Schleife meine Userform dynamisch mit TextBoxen befüllen

For i = 1 to intLS
' Textbox
Set objTextbox = Me.Frame1.Controls.Add("Forms.Textbox.1", , True)
With objTextbox
.Name = "Textbox" & i
.Top = (i - 6) * 20
.Left = 405
.Height = 15
.Width = 100
End With
' Textbox Ende
next i

Bei der Integration des Change-Events stoße ich aber immer auf Fehlermeldungen 438 "Objekt unterstützt diese Eigenschaft nicht"
Mein Ansatz:

For i = 1 to intLS
' Textbox
Set objTextBox = Me.Frame1.Controls.Add("Forms.Textbox.1", , True)
With objTextBox
.Name = "Textbox" & i
.Top = (i - 6) * 20
.Left = 405
.Height = 15
.Width = 100
' Versuch VBA-Code durch VBA erstellen
Dim VBC As Object
Dim LineNr As Integer
With ThisWorkbook.VBProject.VBComponents(UserForm1.Frame1.objTextBox).CodeModule
LineNr = .CreateEventProc("Change", "Textbox" & i)
.InsertLines LineNr + 1, " "
.InsertLines LineNr + 2, "Me.Textbox2.SetFocus"
End With
' Versuch VBA-Code durch VBA erstellen ENDE
End With
' Textbox
next i

Danke und Grüße, Bernd

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Textbox mit Change-Event dynamisch erstellen
24.03.2017 14:59:55
EtoPHG
Hallo Bernd,
Das geht mit Klassenprogrammierung!
Gruess Hansueli
AW: VBA: Textbox mit Change-Event dynamisch erstellen
27.03.2017 08:43:00
Bernd
Hallo Hansueli,
vielen Dank für den Hinweis. Ich habe mich an der Programmierung der Klasse versucht, komme jedoch auf keinen grünen Zweig. :-(
Kannst du mir vielleicht meinen Fehler erklären?
Mein Code der Userform:

For i = 1 to intLS
' Versuch über Klassenprogrammierung
Dim oMeineTextBox As clsTextBox
Set oMeineTextBox = New clsTextBox
Set oMeineTextBox = Me.Frame1.Controls.Add("Forms.Label.1", , True)
With oMeineTextBox
.Name = "Scanfeld" & i
.Top = (i - 6) * 20
.Left = 405
.Height = 15
.Width = 100
End With
Set oMeineTextBox = Nothing
' Versuch über Klassenprogrammierung ENDE
next i
Meine Klasse clsTextBox:

Option Explicit
Public WithEvents objTextBox As MSForms.TextBox
Private Sub objTextBox_Change()
Me.TextBox2.Value = ""
Me.TextBox2.SetFocus
End Sub
Danke und Grüße, Bernd
Anzeige
AW: VBA: Textbox mit Change-Event dynamisch erstellen
27.03.2017 17:24:26
Bernd
Servus,
als Hilfestellung für Forumsmitglieder, die vielleicht auch mal dieses Problem haben könnten;
nach etwas Recherche bin ich auf der folgenden Seite gelandet
http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0171.shtml
und ich konnte meine Problemstellung damit lösen.
Grüße, Bernd

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige