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

Events bei dynamischen Userforms

Events bei dynamischen Userforms
27.06.2016 05:07:35
Berndi
Hallo Experten !
Ich erzeuge mit diesem Script ein dynamisches Formular mit Checkboxen und Textfeldern.
Leider kann ich nur beim zuletzt erzeugten ein Event abgreifen.
Wie schaffe ich das bei allen Elementen?
Option Explicit
Dim chkVBEvent As clsChk_VB
Dim chkBox_VB As MSForms.CheckBox
Dim chkBGEvent As clsChk_BG
Dim chkBox_BG As MSForms.CheckBox
Dim chkVBColl As Collection
Dim chkBGColl As Collection
Sub EditPartnergesellschaftenInit()
Dim I
Dim Datenbank As Worksheet
Dim objCls As clsTxt
Dim objCls2 As clsChk_VB
Dim objCls3 As clsChk_BG
Set Datenbank = Workbooks("GesFordVerb.xlam").Worksheets("Partnergesellschaften")
With DatenbankForm
.KeepScrollBarsVisible = fmScrollBarsVertical
.ScrollBars = fmScrollBarsVertical
.ScrollHeight = Datenbank.Cells(1, 6) * 22 + 50
.Height = 600
.Width = 540
.Label1 = "Datenbank " & Chr(34) & "Partnergesellschaften" & Chr(34)
.Label1.Width = 520
.Caption = "Datenbank - Bearbeitungsfenster"
End With
Datenbank.Cells(1, 7).Value = "OnAction"
For I = 2 To Datenbank.Cells(1, 6)
Set objCls = New clsTxt
Set objCls.cntrTxt = DatenbankForm.Controls.Add("Forms.TextBox.1", "Nummer_" & I, True)
With objCls.cntrTxt
.Left = 10
.Top = 15 + I * 22
.Width = 60
.Height = 22
.Value = Datenbank.Cells(I, 1).Value
.Font.Name = "Arial"
.Font.Size = 11
.TextAlign = fmTextAlignRight
.Locked = True
End With
Set objCls.cntrTxt = DatenbankForm.Controls.Add("Forms.TextBox.1", "Text_" & I, True)
With objCls.cntrTxt
.Left = 80
.Top = 15 + I * 22
.Width = 320
.Height = 22
.Value = Datenbank.Cells(I, 2).Value
.Font.Name = "Arial"
.Font.Size = 11
.Locked = False
End With
Set chkBox_VB = DatenbankForm.Controls.Add("Forms.CheckBox.1", "VB_" & I, True)
With chkBox_VB
.Left = 410
.Top = 15 + I * 22
.Caption = "Verbund"
End With
Set chkBox_BG = DatenbankForm.Controls.Add("Forms.CheckBox.1", "BG_" & I, True)
With chkBox_BG
.Left = 460
.Top = 15 + I * 22
.Caption = "Beteiligung"
End With
If Datenbank.Cells(I, 5).Value = "VB" Then
chkBox_VB.Value = True
chkBox_BG.Value = False
End If
If Datenbank.Cells(I, 5).Value = "BG" Then
chkBox_VB.Value = False
chkBox_BG.Value = True
End If
Set chkVBEvent = New clsChk_VB
Set chkVBEvent.cntrChk_VB = Me.Controls(chkBox_VB.Value)
Set chkBGEvent = New clsChk_BG
Set chkBGEvent.cntrChk_BG = Me.Controls(chkBox_BG.Value)
chkVBColl.Add chkVBEvent
chkBGColl.Add chkBGEvent
Next I
Datenbank.Cells(1, 7).Value = ""
DatenbankForm.StartUpPosition = 2
DatenbankForm.Show
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Events bei dynamischen Userforms
27.06.2016 07:30:56
Berndi
Super !!!
Danke !!!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige