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

SteuerelementName als Variable verwenden

SteuerelementName als Variable verwenden
30.10.2019 09:36:09
Christoph
Liebe Gemeinde,
ich habe eine Datei mit vielen Tabellenblättern auf der jeweils über eine ComboBox ein Diagramm gesteuert wird. Es kann über die Combobox zum Beispiel ein Jahr ausgewählt werden das dann in dem Diagramm angezeigt wird.
Die Quelle der ComoboBox ist ein Zellbereich (im Konkreten Fall D3:D29) der die Jahre enthält, _ allerdings sind hier auch Dubletten (2005, 2005, 2010,2011,2011 etc) enthalten. Damit nun ich nich irgendwo anders die Werte für die ComboBox (ohne Dubletten) speicher muss habe ich folgenden COde entwickelt, der auch gut funktioniert

Private Sub Worksheet_Activate()
Dim T_Blattname, Wertebereich As String
Dim objDic As Object
Dim Bereich As Range
Dim Zelle As Range
T_Blattname = ActiveSheet.Name
Wertebereich = "D3:D29"
Set objDic = CreateObject("Scripting.Dictionary")
With Sheets(T_Blattname)
Set Bereich = .Range(Wertebereich) 'relevanten Bereich ermitteln
End With
For Each Zelle In Bereich
objDic(Zelle.Value) = 0 'Nur Unikate sammeln
Debug.Print Zelle
Next
Sheets(T_Blattname).ComboBox_Jahr.List = objDic.keys 'Unikate der ComboBox zuweisen
End Sub
Nun möchte ich gerne diesen Code in ein eigenes Modul auslagern, damit ich ihn auf unterschiedlichen Tabellenblättern nutzen kann. Da die ComboBoxen auf den unterschiedlichen Tabellenblättern nicht immer gleich heißen, möchte ich gerne an der Stelle

Sheets(T_Blattname).ComboBox_Jahr.List = objDic.keys 'Unikate der ComboBox zuweisen
End Sub
das ComboBox_Jahr durch eine Variable ersetzen. Leider bekomme ich das nicht hin, wenn ich den Steuerelementnamen mit ctrl = "ComboBox_Jahr" als String in einer Variable speichere und mit

Sheets(T_Blattname).ctrl.List = objDic.keys 'Unikate der ComboBox zuweisen
End Sub
kommt die Fehlermeldung dass diese Eigenschaft nicht zulässig sei.
Nun stellt sich mir die Frage, ob das überhaupt geht oder obich irgendwie auf dem Holzweg bin....
Vielen Dank im Voraus!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SteuerelementName als Variable verwenden
30.10.2019 09:43:13
Nepumuk
Hallo Christoph,
so:
Sheets(T_Blattname).OLEObjects(ctrl).Object.List = ...
Gruß
Nepumuk
AW: SteuerelementName als Variable verwenden
30.10.2019 09:56:52
Christoph
Danke Nepumuk! Das wars!
AW: SteuerelementName als Variable verwenden
30.10.2019 09:58:07
Christoph
Danke Nepumuk! Das wars!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige