10.03.2018, 13:50
Hallo liebe VBA-Experten,
ich bräuchte dringend euren Rat.
Ich habe auf meiner Userform 2 dynamisch erzeugte ListBoxen, die ich ListBox10 und ListBox20 genannt habe.
Wenn ich auf einen Eintrag in ListBox10 doppelclicke soll die Breite, Höhe (was auch immer, hauptsache eine Objekteigenschaft
von ListBox20) geändert werden.
Hier mein Code auf der Userform:
Hier mein Code im Klassenmodul, clsControl:
Zum besseren und schnelleren Verständnis habe ich meine Frage gleich in den Code des Klassenmoduls clsControl geschrieben.
Doppelklicke ich auf einen Eintrag in der ListBox10 gelange ich unter Case "ListBox10".
An dieser Stelle gilt es nun, den entsprechenden Code einzufügen, damit sich z.B. die Breite
von ListBox20 ändert.
Vorab schon mal besten Dank für euer Interesse und Hilfe.
ich bräuchte dringend euren Rat.
Ich habe auf meiner Userform 2 dynamisch erzeugte ListBoxen, die ich ListBox10 und ListBox20 genannt habe.
Wenn ich auf einen Eintrag in ListBox10 doppelclicke soll die Breite, Höhe (was auch immer, hauptsache eine Objekteigenschaft
von ListBox20) geändert werden.
Hier mein Code auf der Userform:
Code:
Dim aContr(5) As New clsControls
Sub Konstruktion_ListBox10()
Dim obListBox As MSForms.ListBox
Set obListBox = Me.Controls.Add("Forms.ListBox.1", "ListBox" & 10, True)
With obListBox
.Top = 10
.Left = 10
.Height = 110
.Width = 90
.AddItem "Breite ListBox20"
.AddItem "Höhe ListBox20"
End With
Set aContr(1).ListBoxCmd = obListBox
End Sub
Sub Konstruktion_ListBox20()
Dim obListBox As MSForms.ListBox
Set obListBox = Me.Controls.Add("Forms.ListBox.1", "ListBox" & 20, True)
With obListBox
.Top = 10
.Left = 200
.Height = 110
.Width = 90
.AddItem "Eintrag 1"
.AddItem "Eintrag 2"
End With
Set aContr(2).ListBoxCmd = obListBox
End Sub
Sub UserForm_Initialize()
Konstruktion_ListBox10
Konstruktion_ListBox20
End Sub
Hier mein Code im Klassenmodul, clsControl:
Code:
Public WithEvents ListBoxCmd As MSForms.ListBox
Private Sub ListBoxCmd_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Select Case Me.ListBoxCmd.Name
Case "ListBox10"
Debug.Print "ListBox10 wurde gedrückt"
'Wenn ListBox10 geklickt wurde bin ich hier. Wie kann ich jetzt die Eigenschaften
'Größe, Breite etc. von ListBox20 ändern?
Case "ListBox20"
Debug.Print "ListBox20 wurde gedrückt"
End Select
End Sub
Zum besseren und schnelleren Verständnis habe ich meine Frage gleich in den Code des Klassenmoduls clsControl geschrieben.
Doppelklicke ich auf einen Eintrag in der ListBox10 gelange ich unter Case "ListBox10".
An dieser Stelle gilt es nun, den entsprechenden Code einzufügen, damit sich z.B. die Breite
von ListBox20 ändert.
Vorab schon mal besten Dank für euer Interesse und Hilfe.