用户窗体组合框的设置值
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)
这样行吗?
(从我在 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)
这样行吗?