0

我在验证一组单选按钮时遇到了困难,这是我现在正在使用的代码,但我不断收到错误消息:Runtime error 438 - Object doesn't support this property or method.

这是导致问题的代码。

For Each ctl In Me.frPriority.Controls
        If ctl.Value = True Then GoTo nxtCheck1
    Next
        MsgBox "You didn't select a priority"
    Exit Sub
nxtCheck1:

造成所有麻烦的线路是

If ctl.Value = True Then

我该如何解决这个问题?

4

2 回答 2

3

如果框架中有非选项按钮控件类型,请使用它,首先检查控件类型。

For Each ctl In Me.frPriority.Controls
    If TypeOf ctl Is msforms.OptionButton Then
        If ctl.Value = True Then GoTo nxtCheck1
    end if 
Next
        MsgBox "You didn't select a priority"
    Exit Sub
nxtCheck1:
于 2012-10-25T19:24:45.423 回答
1

您的问题是您正在遍历所有控件,并且您的某些控件没有 Value 属性。

尝试这样的事情:

For Each ctl In Me.frPriority.Controls
   If TypeOf ctl Is msforms.OptionButton Then
        If ctl.Value = True Then GoTo nxtCheck1
   End if
Next
于 2012-10-25T19:19:21.800 回答