HERBERS Excel-Forum - das Archiv
Kombinationsfeld Startwert festlegen
Lutz

Hallo Excel-Profis,
ich google schon seit Stunden um ein einfaches Kombiantionsfeld anzulegen und mit einem Startwert zu belegen.
Mein Code sieht so aus:
Option Explicit
Private Sub ComboBox1_Change()
[M47] = ComboBox1.Value
Unload Me
End Sub

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "A38:A45"
End Sub
Im Bereich A38:A45 stehen die möglichen Auswahlwerte, bei Auswahl schreibt er diese in die Zelle M47.
Das habe ich schon mal toll hinbekommen - hat mich Stunden gekostet.
Jetzt ist das Formular/Kombinationsfeld aber immer leer wenn ich es aufrufe.
Es sollte aber Standardmäßig das erste Feld, also der Zellinhalt von A38 drin stehen.
Weiß jemand wie das geht?
Vielen Dank Gruß Lutz

ComboBox1.ListIndex=0 '_oT
NoNet

_oT = "ohne Text"
AW: ComboBox1.ListIndex=0 '_oT
Lutz

Hallo,
vielen Dank für die Antwort, wo soll das stehen?
Wenn ich das eintrage:
Sub KassiererAnzeigen()
frmKassierer.Show
ComboBox1.ListIndex = 0
End Sub
Oder
Option Explicit
Private Sub ComboBox1_Change()
[M47] = ComboBox1.Value
Unload Me
End Sub
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "A38:A45"
'ComboBox1.ListIndex = "0"
'ComboBox1.ListIndex = 0
End Sub
dann stürzt er ab.
Gruß Lutz
Das sollte einwandfrei funktionieren
NoNet

Hallo lutz,
exakt so wie in Deinem Code sollte das funktionieren - hier ein Code-Beispiel aus meiner Mappe :
Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "$A$1:$A$20"
Me.ComboBox1.ListIndex = 0
End Sub
Userbild
Gruß, NoNet
AW: Das sollte einwandfrei funktionieren
Lutz

Hallo Nonet,
vielen Dank, das Problem war wohl das
Private Sub ComboBox1_Change()
[M47] = ComboBox1.Value
Unload Me
End Sub
so wie es aussieht.
Gruß Lutz
UF nach Auswahl in der CB schließen
NoNet

Hallo Lutz,
Klaro : Das Ändern des ListIndex der comboBox ist eine "Änderung" (Change), damit wird das Ereignis ausgeführt, das das UserForm sofort schließt - das hatt ich nicht beachtet. Hier meine angepasste Lösung :
Option Explicit
Dim bolUFEnde As Boolean
Private Sub UserForm_Initialize()
bolUFEnde = False   'UserForm wird bei Änderung der ComboBox noch nicht geschlossen !
Me.ComboBox1.RowSource = "$A$38:$A$45"
Me.ComboBox1.ListIndex = 0
bolUFEnde = True 'Erst jetzt wird das UserForm bei Änderung der Combobox geschlossen !
End Sub
Private Sub ComboBox1_Change()
[M47] = ComboBox1.Value
If bolUFEnde Then Unload Me
End Sub
Gruß, NoNet
AW: UF nach Auswahl in der CB schließen
Lutz

Hallo NoNet,
sorry, bin erst jetzt wieder dazu gekommen.
Das ist absolut perfekt, da wäre ich nicht drauf gekommen.
Ich bin schwer beeindruckt und bedanke mich vielmals für Deine Hilfe.
Ich wünsche Dir noch einen schönen Tag.
Viele Grüße aus Hamburg Lutz
AW: Kombinationsfeld Startwert festlegen
F1


Private Sub UserForm_Activate()
With ComboBox1
.RowSource = "A38:A45"
.ListIndex = 0
End With
End Sub

AW: Kombinationsfeld Startwert festlegen
Lutz

Hallo F1 danke, ich habe es jetzt geschafft, mußte noch das Change unload me rausnehmen...
Vielen, vielen, vielen, vielen Dank
Gruß Lutz