用户窗体组合框的设置值

Setting value of a UserForm Combobox

(从我在 enter link description here as advised 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 错误并解释 "Could not set the Value property. Invalid property value."

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

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

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

Me.Combo_Day.ListIndex = (iMaxDate - 1)

这样行吗?