Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1372to1376
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

Dynamisch generierte TextBox und Klassenzuordnung

Dynamisch generierte TextBox und Klassenzuordnung
28.07.2014 08:15:34
Peter
Hallo alle zusammen,
ich arbeite gerade an einer UserForm bei der mehrere TextBoxen dynamisch generiert werden. Die Anzahl der TextBoxen ist variabel und unterscheidet sich je nach zuvor erfolgter Eingabe. Dies funktioniert bestens.
Jetzt möchte ich jedoch noch ein Change Ereignis den einzelnen TextBoxen hinzufügen. Da stoße ich jetzt aber mit meinem Latein an die Grenzen. Folgendes habe ich gemacht.
Klassenmodul: clsTextBox
Option Explicit
Public WithEvents cmdTextBox As MSForms.TextBox
Private m_objForm As Object
Private Sub Class_Terminate()
Set cmdTextBox = Nothing
Set m_objForm = Nothing
End Sub

Private Sub cmdTextBox_Change()
MsgBox "Eingabe: " & m_objForm.Text
End Sub
Public Property Set Form(ByRef objForm As Object)
Set m_objForm = objForm
End Property
In der Userform steht folgendes:
Option Explicit
Dim clsTxt(80) As clsTextBox
Private Sub SName_Change()
Dim ctlTxt As MSForms.TextBox
Dim s As Integer
Dim BereichN As String
BereichN = "L20:CL53"
Set ctlTxt.clsTxt = Me.Controls.Add("Forms.TextBox.1", "TB" & NrE, True)
With Me.Controls("TB" & NrE)
.Top = 5 + 20 * NrE
.Left = 100
.Width = 20
.BackColor = &HC0E0FF
If WorksheetFunction.VLookup(SID, Tabelle9.Range(BereichN), 37 + s, False) > -1  _
Then
.Value = WorksheetFunction.VLookup(SID, Tabelle9.Range(BereichN), 37 + s, False) _
Else
.Value = ""
End If
End With
End Sub
Da ich mit Klassenprogrammierung bisher nur sehr wenig zu tun hatte und meist andere Lösungen fand, stehe ich damit etwas auf dem Kriegsfuß.
So wie ich es gemacht habe, erhalte ich in der Zeile mit "Set" einen Fehler.
Ich hoffe, ihr könnt mir Helfen!
Vielen Dank schon mal!
Peter

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisch generierte TextBox und Klassenzuordnung
28.07.2014 09:09:51
Nepumuk
Hallo,
was soll denn m_objForm sein? Das Userform selbst? Ein Userform hat keine Text-Eigenschaft.
Warum gibt es in deiner Klasse eine Set-Anweisung für das Userform aber nicht für die TextBox? Warum gibt es keine Get-Anweisung? Und wieso ist die TextBox-Eigenschaft in der Klasse öffentlich die des Userforms aber privat?
Wo und wie ist die Klasse im Userform-Modul deklariert? Wo und wie werden die Instanzen der Klasse erzeugt?
Warum machst du die VLookup-Methode 2mal? Warum nicht einmal und dann den Rückgabewert auswerten. Zudem, wenn die Methode nichts findet, dann gibt sie nicht -1 zurück sondern dem Fehler 2042 = CVErr(xlErrNA)
Als erste müssen wir mal klären was es mit m_objForm auf sich hat und wozu sie gut sein soll.
Gruß
Nepumuk
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige