HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2010
Erfahrungslevel des Fragestellers:
Basiskenntnisse in VBA
Alwin Weisangler
08.05.2026 20:55:58
AW: Controls mit Events in Collections verwalten
Hallo,

die gezeigte Funktion erzeugt lediglich die gewünschten Controls, entsprechend den mitgegebenen Parametern. Das ist soweit klar.
Was für einem Außenstehenden unklar ist, was du mit den Werten der Controls machen willst.

Hier mal ein Beispiel von mir wie in 2 Klassen die Inhalte von Textboxen addiert werden, und per Button in die passende Zelle die Summe übergeben wird.
Das Beispiel mag so ziemlich sinnfrei sein, da man dies natürlich viel einfacher in den Zellen rechnen lassen kann, zeigt aber wie man mit Klassen arbeiten kann.

Vielleicht hilft dir das ja schon etwas weiter.
Ansonsten Datei hochladen, und beschreiben, was erreicht werden soll. Momentan habe ich leider wenig Zeit mich um solche Sachen zu kümmern.
https://www.herber.de/bbs/user/180685.xlsm

Gruß Uwe


Als Antwort auf diesen Beitrag
Sumbu
08.05.2026 12:15:37
Controls mit Events in Collections verwalten
Ich hatte das vor zig Jahren schonmal gemacht, habe aber vergessen wie das funktioniert: Ich möchte ein zweidimensionales Array aus Textboxen erzeugen, und es in zwei ineinander verschachtelten Collections verwalten, bzw. auch erzeugen. Ich weiß noch, dass ich die Textboxen in der .Add-Methode einer der Klassen erzeugt habe, und dabei den unten stehenden, selbstgebastelten Code für die Erzeugung in einem Standardmodul verwendet habe.

Public Function newControl(ByRef pvobjParent As Object, ByVal pvstrNamen As String, ByVal pvstrType As String, _

Optional ByVal pvsngLeft, Optional ByVal pvsngTop, Optional ByVal pvsngHeight, Optional ByVal pvsngWidth, _
Optional ByVal pvintSFX, Optional ByVal pvintBorderStyle, Optional ByVal pvlngHGFarbe, Optional ByVal pvlngVGFarbe, Optional ByVal pvstrCaption) As Control

Set newControl = pvobjParent.Controls.Add("Forms." & pvstrType & ".1", pvstrNamen, True)
With newControl
If Not IsMissing(pvsngLeft) Then .Left = pvsngLeft
If Not IsMissing(pvsngTop) Then .Top = pvsngTop
If Not IsMissing(pvsngHeight) Then .Height = pvsngHeight
If Not IsMissing(pvsngWidth) Then .Width = pvsngWidth
If Not IsMissing(pvintSFX) Then .SpecialEffect = pvintSFX
If Not IsMissing(pvintBorderStyle) Then .BorderStyle = pvintBorderStyle
If Not IsMissing(pvlngHGFarbe) Then .BackColor = pvlngHGFarbe
If Not IsMissing(pvlngVGFarbe) Then .ForeColor = pvlngVGFarbe
If Not IsMissing(pvstrCaption) Then
On Error Resume Next
.Caption = pvstrCaption
.Text = pvstrCaption
On Error GoTo 0
End If
End With
End Function


Was ich nicht mehr weiß, ist wie ich die Textboxen in die Collections einbinde, und wie ich die Events verwalte. Da brauche ich vermutlich noch eine Watcher-Klasse, aber wie binde ich die dann ein. Mein VBA ist leider ein bissel eingerostet^^

Wenn mir jemand helfen kann: Vielen Dank schon im Voraus!
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.