使用默认值填充UserForm组合框

时间:2014-01-13 20:29:47

标签: vba excel-vba excel-2007 excel

TierStructureTierStructure我正在尝试在带有VBA的用户窗体上填充两个梳理盒,并根据ws函数为相同的盒子设置默认值。我想我可以找出ws函数,但是我对数组和默认值有点麻烦。

Private Sub UserForm_Initialize()

Dim TierStructure() As Variant

TierSturucture = Array("Composite", "2-Tier", "3-Tier", "4-Tier", "5-Tier", "6-Tier")

StopLossCombo.List = TierSturucture 
AdminCombo.List = TierSturucture 
StopLossCombo.Value = TierStructure(1)
AdminCombo.Value = TierStructure(1)

End Sub

我收到的错误是“运行时错误9 - 下标超出范围”。

1 个答案:

答案 0 :(得分:1)

你有两个错位 - “TierSturucture”。

为避免将来发生这种情况,请确保每个模块顶部都有“Option Explicit”。您可以通过工具>选项>编辑器>要求变量声明自动执行此操作。这将确保声明任何变量,从而捕获拼写错误。

另外,请注意,您不需要将TierStructure声明为数组。变量变量可以自己保存数组。所以,只需使用:

Dim TierStructure As Variant