2017-07-24 16 views
0

Bin auf der Suche nach einer Möglichkeit, die Combobox auf meinem Benutzerformular einen Standardwert von nichts oder so etwas wie "Wählen von unten" haben.Excel VBA ComboBox Standardwert

Haben verschiedene Google-Vorschläge ausprobiert, aber der Wert, der in meiner Combobox angezeigt wird, ist leer, wenn es sich um die erste Iteration des Codes handelt, oder schlimmer noch, den zuvor ausgewählten Wert.

-Code ist unten ...

' Begin Code 
Private Sub UserForm_Initialize() 
    Dim RngTags As Range, RngNames As Range, i As Long 

ComboBox1.Value = "SomeText" 

'Set rng1 = Sheets("Admin").Range("deptrange2") 
Set rng1 = Range("ALLDEPT") 

With ComboBox1 
    .ColumnCount = 1 
    .Style = fmStyleDropDownList 
    .TextAlign = fmTextAlignLeft 
    .BoundColumn = 1 

    For i = 1 To rng1.Count 
     .AddItem rng1(i).Value 
     .List(.ListCount - 1, 1) = rng1(i).Value 
    Next i 
End With 

End Sub 


' Puts the value chosen from the list on admin f6 
Private Sub ComboBox1_Change() 
    Sheets("Admin").Range("f8").Value = ComboBox1.Value 

    Call myUnLoad 
End Sub 

' Gets rid of userform 
Sub myUnLoad() 
    UserForm1.Hide 
End Sub 
' End code 

Dank

Andrew

+1

Hiding einstellen Benutzerformular und zeigt es erneut nicht Initialisierungsereignis auslösen. Das könnte einen Teil Ihrer Frage beleuchten. –

+1

Wie @ MichałTurczyn sagte, könnte es ein Initialisierungsproblem sein. Sagt es "SomeText" beim ersten Mal? Das deutet auch darauf hin, was er sagt. Sie müssen ein Benutzerformular entladen, damit es erneut initialisiert wird. 'Entladen Sie mich' –

+0

Oh ja, ich verstehe Ihren Standpunkt. Tx –

Antwort

0

Nachdem die Werte hinzufügen, müssen Sie die Listindex auf 0.

Combobox1.ListIndex=0

+0

Danke für die Antworten. Wohin geht der "ComboBox1.ListIndex = 0" in meinem Code? Tx –

+0

Am Ende Ihrer Initialisierungsroutine. – braX