Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Change-Ereignis bei generierten ComboBoxes

Forumthread: Change-Ereignis bei generierten ComboBoxes

Change-Ereignis bei generierten ComboBoxes
11.03.2025 10:30:20
AndreasH86
Hallo,

ich erzeuge per Excel-Makro je nach Listenlänge eine Anzahl von ComboBoxes in einer UserForm (es handelt sich um einen Auszug der relevanten Passage):

Private Sub UserForm_Initialize()


Dim Box, Label As Control
Dim endRowA As Long
Dim arr As Variant

endRowA = Sheets("Array").Cells(Rows.Count, 1).End(xlUp).Row

ReDim arr(1 To endRowA)

If Sprache = "DE" Then
For z = 1 To endRowA
arr(z) = Sheets("Array").Cells(z, 1).Value
Next z
End If

a = 0
For z = 1 To endRowA
Set Label = UserForm2.Controls.Add("Forms.Label.1", "Label" & z, True)
Label.Left = 25
Label.Top = 36 + a
Label.Width = 96
Label.Height = 15.75
Label.Caption = z & " - "

Set Box = UserForm2.Controls.Add("Forms.ComboBox.1", "ComboBox" & z, True)
Box.Left = 48
Box.Top = 36 + a
Box.Width = 186
Box.Height = 15.75
Box.Object.List = arr
a = a + 24
Next z

CommandButton1.Left = 78
CommandButton1.Top = a + 60

UserForm2.Height = z * 24 + 36 + 60 + 20


Nun möchte ich für die ComboBoxes ein Change-Ereignis abgreifen mit dem Ziel, dass die bereits ausgewählten Einträge in den ComboBoxen in den folgenden CBO nicht mehr auswählen kann - also das Array nach jeder Auswahl verändere.
Soweit ich mich bisher belesen habe, geht das nur mit einem Klassenmodul, womit ich bisher noch nicht in Berührung kam.

Wie erstelle ich ein solches Change-Ereignis?

Viele Grüße
Andreas
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Change-Ereignis bei generierten ComboBoxes
11.03.2025 11:34:29
Alwin Weisangler
Hallo Andreas,

lade mal hoch, was du hast. Die Klasse einbauen ist, um das Change Ereignis auszuwerten, eigentlich nicht kompliziert. Man muss nur verstehen was eine Klasse ist.
Vor einigen Tagen hatte ich hier mal in einem Userform Klassen für Listboxen, Textboxen und Checkboxen eingebaut:
https://www.herber.de/forum/archiv/2004to2008/2007470_Funktionelles_kopieren_von_MultiPagePages.html#2007683

Gruß Uwe
Anzeige
AW: Change-Ereignis bei generierten ComboBoxes
11.03.2025 12:16:17
AndreasH86
Hallo Uwe,

besten Dank für Deine Bereitschaft.

Ich musste die Beispieldatei etwas kürzen, da doch recht viel Unternehmensinterna in den Listen vorhanden war.
Ich hoffe, Du kannst mit dem übrig Gebliebenem noch etwas anfangen:

https://www.herber.de/bbs/user/176206.xlsm


Wie gesagt - Ziel der Übung ist, dass sich die Werte im Tabellenblatt "Array" entsprechend der Auswahl in den CBO ändert, damit kein Eintrag doppelt ausgewählt werden kann.

Danke.


Viele Grüße
Andreas
Anzeige
AW: Change-Ereignis bei generierten ComboBoxes
11.03.2025 12:47:36
Alwin Weisangler
Hallo Andreas,

auf die Schnelle die Klasse eingebaut und Change vorbereitet.
Kleine Anmerkung zu Variablen: Deklariere bei so was die Dinger einfach ordentlich und schreibe in die 1. Zeile Option Explicit. Dies verhindert unsinnige Fehler, den da war schon einiges im Argen.
Nur noch so viel. Die Auswertung des Change Ereignisses habe ich erst mal so angelegt, dass du den Auswahlkram dann dort Einbauen kannst. Da bleibt das Userform übersichtlicher.
Falls du noch Fragen hast, dann melde dich dazu.
https://www.herber.de/bbs/user/176207.xlsm

Gruß Uwe
Anzeige
Perfekt, vielen Dank Uwe!
11.03.2025 12:53:26
AndreasH86
AW: Perfekt, vielen Dank Uwe!
11.03.2025 13:41:12
Alwin Weisangler
Noch zur Ergänzung:

Um Einträge aus den Listen der nachfolgend zu bedienenden Comboboxen zu entfernen eignet sich das Change Ereignis nicht. Da bist du mit dem _Click Ereignis besser bedient.

Gruß Uwe
AW: Perfekt, vielen Dank Uwe!
11.03.2025 13:48:48
AndreasH86
Danke für den Hinweis.

Da ich nun die "Hülle" kenne, wie Klassenmodule funktionieren, kann ich meine Individualfälle daraus zaubern - wenn auch sicherlich nicht in perfekter Manier.
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18