Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA组合框列表_Vba_Excel_Combobox_Default Value - Fatal编程技术网

Excel VBA组合框列表

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

在Excel中,我不知道如何在组合框中指定默认选择

在下图中,我有一个用户表单中的组合框,它是一个命名范围内的月份列表
(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”)。我不确定你目前的实际问题是什么,但如果这能回答问题,请让我知道,我会把它作为一个答案。你真的想让它每次点击都改变吗?这样做可能会覆盖已做出的选择。