Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Dynamische Comboboxen anpassen

Betrifft: Dynamische Comboboxen anpassen von: Sven
Geschrieben am: 18.07.2008 17:19:02

Hallo allerseits,

ich lasse in einer Userform dynamisch Comboboxen erstellen. Funktioniert soweit gut, auch die BackColor lässt sich anpassen aber ListWidth geht nicht...
Bei den "normal" erstelten ComboBoxen klappt das großartig. Bei den zur Laufzeit generierten Boxen ignoriert er die Anweisung einfach. Warum? Weiß jemand wie es geht?
Hier der Code-Schnippsel:

Set Apl_dyn = Me.Controls.Add("Forms.ComboBox.1", "Apl_" & counter_zeile, True)
Apl_dyn.Width = 42
Apl_dyn.Height = 16
Apl_dyn.Left = 396
Apl_dyn.Top = 30 + ((h + g * 5) * 18) + g * 12
Apl_dyn.ListWidth = "38"
If farbe = 1 Then Apl_dyn.BackColor = &HFFFFC0 ' blau
If farbe = 2 Then Apl_dyn.BackColor = &H80000005 ' weiß

Vielen Dank im vorraus,
Grüße aus Hamburg
Sven

  

Betrifft: AW: Apl_dyn.Width = 38 o.w.T. von: Gerd L
Geschrieben am: 18.07.2008 20:05:08

Gruß Gerd


  

Betrifft: AW: Dynamische Comboboxen - ListWith von: Erich G.
Geschrieben am: 18.07.2008 20:44:13

Hallo Sven,
bist du sicher, dass du die Eigenschaft "ListWith" meinst?

Schau dir mal die Mappe an, darin wird sie bei zwei ComboBoxen verschieden eingestellt:
https://www.herber.de/bbs/user/53957.xls

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort


  

Betrifft: AW: Dynamische Comboboxen anpassen von: Sven
Geschrieben am: 19.07.2008 11:32:20

Danke für den Tipp, aber auch ohne die "" wird es weiter ignoriert. (Hatte ich auch schon versucht...)

@ Erich ja genau das meine ich. Ich habe ein Dropdown, in dem nur Zahlen von 1- 50 sind. Wenn die während der Laufzeit erstellt werden, bekommt man einen Scrollbalken unter der Auswahl, da er die ListWidth mit einem Standardwert erstellt. Den würde ich gerne loswerden:


Gruß,
Sven


  

Betrifft: Dynamische Comboboxen anpassen von: Sven
Geschrieben am: 19.07.2008 16:16:26

Hat noch jemand eine Idee?


  

Betrifft: AW: Dynamische Comboboxen anpassen von: Jochen
Geschrieben am: 19.07.2008 16:23:59

Hi,

nimm eine Konstante oder Variable vom Typ Variant.

mfg Jochen


  

Betrifft: AW: Dynamische Comboboxen anpassen von: Erich G.
Geschrieben am: 19.07.2008 17:38:22

Hi Sven,
ja, noch eine Idee: Du sollstest die ColumnWidths-Eigenschaft einstellen.

Die beiden Boxen hier unterschieden sich (abgesehen von Left) nur in dieser Eigenschaft:
https://www.herber.de/bbs/user/53975.xls

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort


  

Betrifft: AW: Dynamische Comboboxen anpassen von: Sven
Geschrieben am: 20.07.2008 10:41:39

Super,
mit .ColumnWidths und .ListWidth in Kombination geht's.
Warum die dynamischen Controls sich hier anders verhalten, als die herkömmlichen erschließt sich mir nicht. Aber sei's drum, es läuft jetzt schließlich.

Vielen Dank


 

Beiträge aus den Excel-Beispielen zum Thema "Dynamische Comboboxen anpassen"