Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ListBox1 Einträge sollen Objekteigenschaften von ListBox2 steuern
#1
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:

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.
Antworten Top
#2
Habe das Problem mittlerweile  gelöst.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste