Excel VBA组合框默认值
我正在寻找一种方法,使我的用户表单上的组合框具有默认值nothing或类似于Choose From的内容 我尝试过各种google建议,但如果是代码的第一次迭代,则“我的组合框”中显示的值为空,或者更糟的是,是先前选择的值 代码如下Excel VBA组合框默认值,excel,vba,combobox,default,Excel,Vba,Combobox,Default,我正在寻找一种方法,使我的用户表单上的组合框具有默认值nothing或类似于Choose From的内容 我尝试过各种google建议,但如果是代码的第一次迭代,则“我的组合框”中显示的值为空,或者更糟的是,是先前选择的值 代码如下 ' Begin Code Private Sub UserForm_Initialize() Dim RngTags As Range, RngNames As Range, i As Long ComboBox1.Value = "SomeText"
' 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
谢谢
Andrew添加值后,需要将ListIndex设置为0
Combobox1.ListIndex=0添加值后,需要将ListIndex设置为0
Combobox1.ListIndex=0隐藏用户表单并再次显示它不会引发初始化事件。这可能会对你的部分问题有所帮助。就像@MichałTurczyn所说的,这可能是一个初始化问题。第一次运行时它是否会显示一些文本?这也说明了他在说什么。您需要卸载userform以使其再次初始化。哦,是的,我明白你的意思。TxHiding用户表单并再次显示它不会引发初始化事件。这可能会对你的部分问题有所帮助。就像@MichałTurczyn所说的,这可能是一个初始化问题。第一次运行时它是否会显示一些文本?这也说明了他在说什么。您需要卸载userform以使其再次初始化。哦,是的,我明白你的意思。谢谢你的回答。ComboBox1.ListIndex=0在我的代码中位于何处?TxAt结束初始化例程。感谢您的回复。ComboBox1.ListIndex=0在我的代码中位于何处?TxAt是初始化例程的结束。