Forumbeitrag
Excel-Version des Fragestellers:
2010
Erfahrungslevel des Fragestellers:
Basiskenntnisse in VBA
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!