在Userform中循环创建选项按钮不起作用

时间:2015-01-28 14:23:10

标签: vba userform radio-button

我需要在Userform中创建几个选项按钮(每个按钮用于数组元素)。

我在这里遗漏了什么吗?因为它返回错误..

DefaultTop = 60

For X = 0 To UBound(ArrPlants)

    Set Jonas(x) = SAPPlants.Controls.Add("Forms.optionbutton.1", Y, True)
      'Error on the above line ^^^

        With Jonas(x)
            .Top = DefaultTop + 20
            .Left = 12
            .Caption = ArrPlants(x)
        End With

 Next X

错误:

  

预期的子程序或程序错误

1 个答案:

答案 0 :(得分:1)

您需要将X传递给OptionButton的名称,而不是使用Jonas(X)。试试下面的内容,看看它是如何运作的:

DefaultTop = 60

Dim Jonas as OptionButton

For X = 0 To UBound(ArrPlants)

    Set Jonas = SAPPlants.Controls.Add("Forms.optionbutton." & X + 1, Y, True)

        With Jonas
            .Top = DefaultTop + 20
            .Left = 12
            .Caption = ArrPlants(X)
        End With

 Next X

进一步解释found here

enter image description here