设置UserForm组合框的值

时间:2016-05-31 13:04:39

标签: excel excel-vba combobox excel-2013 userform vba

(根据enter link description here提出的in meta更广泛的问题缩小了范围{。}}

我有一个用户表单。在该用户表格上有几个组合框用于选择年,月和日。组合日的组合数量最多为28,29,30或31,具体取决于选择的年份和月份。为避免选择2月31日之类的内容,我想检查所选日期值是否超过该月的最大值,并适当减少。目前我已尝试过这些选项:

If Me.Combo_Day.Value > iMaxDate And iMonthNo > 0 And Not Me.Combo_Day.Value = "" Then Me.Combo_Day.Value = Me.Combo_Day.List(iMaxDate - 1)

If Me.Combo_Day.Value > iMaxDate And iMonthNo > 0 And Not Me.Combo_Day.Value = "" Then Me.Combo_Day.Value = iMaxDate

他们都没有工作;任何时候该行被解析,我得到380错误的解释"无法设置Value属性。无效的属性值。"

我尝试更改.Text.Value,但似乎没有太大区别。 如何更改组合框中的选定值?

1 个答案:

答案 0 :(得分:1)

由于对要求的误解而编辑:

我的错,我误解了原帖。如果天数按数字顺序设置,您确实可以使用ListIndex(只需记住它从零开始,因此您必须减去1)。它看起来像是:

Me.Combo_Day.ListIndex = (iMaxDate - 1)

这有用吗?