多个组合框的VBA默认值
我想请您帮助我设置多个组合框的默认值。我使用了下面的代码,但它只会更改第一个组合框的默认值。当我关闭它并第二次打开时,第二个值将更改为默认值、第三个值、第三个值,依此类推。 我需要在初始化过程中更改userform中所有组合框的所有默认值多个组合框的VBA默认值,vba,combobox,Vba,Combobox,我想请您帮助我设置多个组合框的默认值。我使用了下面的代码,但它只会更改第一个组合框的默认值。当我关闭它并第二次打开时,第二个值将更改为默认值、第三个值、第三个值,依此类推。 我需要在初始化过程中更改userform中所有组合框的所有默认值 Private Sub UserForm_Initialize() CBForm.ListIndex = 0 CBERP.ListIndex = 0 CBCountry.ListIndex = 0 End Sub 不知道为什么它不起作
Private Sub UserForm_Initialize()
CBForm.ListIndex = 0
CBERP.ListIndex = 0
CBCountry.ListIndex = 0
End Sub
不知道为什么它不起作用。。。但是试试下一个。 在
UserForm
代码中创建一个过程来设置初始值:
Private Sub InitializeCombos()
CBForm.ListIndex = 0
CBERP.ListIndex = 0
CBCountry.ListIndex = 0
End Sub
然后,在UserForm\u Initialize
Private Sub UserForm_Initialize()
Call InitializeCombos
End Sub
不知道为什么它不起作用。。。但是试试下一个。 在
UserForm
代码中创建一个过程来设置初始值:
Private Sub InitializeCombos()
CBForm.ListIndex = 0
CBERP.ListIndex = 0
CBCountry.ListIndex = 0
End Sub
然后,在UserForm\u Initialize
Private Sub UserForm_Initialize()
Call InitializeCombos
End Sub
您是否有任何
Change
事件链接到您的组合框?例如,当您设置CBForm.ListIndex=0
时,是否会触发CBForm\u更改
?如果是这样,代码会做什么?我测试了它,发现它是由ControlSource值引起的。我在那个里设置了一个单元格,在那个里应该写入值。如果它是空的,它可以工作,所以我想我会将值写入代码中,而不是直接在combobox中设置它。是否有任何Change
事件链接到您的combobox?例如,当您设置CBForm.ListIndex=0
时,是否会触发CBForm\u更改
?如果是这样,代码会做什么?我测试了它,发现它是由ControlSource值引起的。我在那个里设置了一个单元格,在那个里应该写入值。如果它是空的,它就可以工作,所以我想我会将值写入代码中,而不是直接在combobox中设置它。它也不起作用。如果我正在单步执行该过程,它会工作,但一旦我尝试运行它,它将只更改第一个组合框的默认值。请尝试@YowE3K suggestion。您的用户表单有问题。你可以在一个新的用户窗体中尝试这段代码,它应该可以工作。但它没有工作。如果我正在单步执行该过程,它会工作,但一旦我尝试运行它,它将只更改第一个组合框的默认值。请尝试@YowE3K suggestion。您的用户表单有问题。您可以在新的用户窗体中尝试此代码,它应该可以工作。