Excel VBA组合框列表
在Excel中,我不知道如何在组合框中指定默认选择 在下图中,我有一个用户表单中的组合框,它是一个命名范围内的月份列表Excel VBA组合框列表,vba,excel,combobox,default-value,Vba,Excel,Combobox,Default Value,在Excel中,我不知道如何在组合框中指定默认选择 在下图中,我有一个用户表单中的组合框,它是一个命名范围内的月份列表(ComboBox1.Value=Format(ComboBox1.Value,“mmm yy”)) Rowsource:Months可以追溯到一两年前,但是为了用户的理智,我希望默认选择是当前月份之前的月份,例如,如果当前月份是2016年1月,则我希望在单击组合框时,默认突出显示跳到2016年12月,而不是用户需要滚动到它 我试图通过以下方式强制: ComboBox1.Tex
(ComboBox1.Value=Format(ComboBox1.Value,“mmm yy”)
)
Rowsource:Months
可以追溯到一两年前,但是为了用户的理智,我希望默认选择是当前月份之前的月份,例如,如果当前月份是2016年1月,则我希望在单击组合框时,默认突出显示跳到2016年12月,而不是用户需要滚动到它
我试图通过以下方式强制:
ComboBox1.Text=Text(EoMonth(TODAY(),-1),“MMM-YY”)
,在下面的ComboBox1_Change()/ComboBox1_Click()
private子部分中,这应该足够了,但不起作用
Private Sub ComboBox1_Change()
ComboBox1.Value = Format(ComboBox1.Value, "mmm-yy")
End Sub
你能展示你所有的代码吗?一个最小的,完整的,可验证的例子?VBA不能识别一些工作表函数。您可以将它们限定为工作表函数,也可以使用VBA函数,例如:Format(DateSerial(Year(Now)、Month(Now)-1、Day(Now))、“mmm-yy”)。我不确定你目前的实际问题是什么,但如果这能回答问题,请让我知道,我会把它作为一个答案。你真的想让它每次点击都改变吗?这样做可能会覆盖已做出的选择。