Microsoft Excel

Herbers Excel/VBA-Archiv

Kombinationsfeld Startwert festlegen | Herbers Excel-Forum


Betrifft: Kombinationsfeld Startwert festlegen von: Lutz
Geschrieben am: 18.11.2009 00:25:04

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

  

Betrifft: ComboBox1.ListIndex=0 '_oT von: NoNet
Geschrieben am: 18.11.2009 00:50:58

_oT = "ohne Text"


  

Betrifft: AW: ComboBox1.ListIndex=0 '_oT von: Lutz
Geschrieben am: 18.11.2009 09:10:10

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


  

Betrifft: Das sollte einwandfrei funktionieren von: NoNet
Geschrieben am: 18.11.2009 17:44:26

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


Gruß, NoNet


  

Betrifft: AW: Das sollte einwandfrei funktionieren von: Lutz
Geschrieben am: 18.11.2009 17:49:34

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


  

Betrifft: UF nach Auswahl in der CB schließen von: NoNet
Geschrieben am: 18.11.2009 18:33:32

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


  

Betrifft: AW: UF nach Auswahl in der CB schließen von: Lutz
Geschrieben am: 19.11.2009 09:57:59

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


  

Betrifft: AW: Kombinationsfeld Startwert festlegen von: F1
Geschrieben am: 18.11.2009 15:40:49

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



  

Betrifft: AW: Kombinationsfeld Startwert festlegen von: Lutz
Geschrieben am: 18.11.2009 17:26:41

Hallo F1 danke, ich habe es jetzt geschafft, mußte noch das Change unload me rausnehmen...

Vielen, vielen, vielen, vielen Dank

Gruß Lutz


Beiträge aus den Excel-Beispielen zum Thema "Kombinationsfeld Startwert festlegen"