设置Listindex后,Excel Listbox不一致没有值

时间:2017-12-28 19:01:17

标签: excel vba excel-vba listbox

我有一个简单的UserForm,包含两个Listbox和两个Textbox,其中包含当前所选Listitem的值。我有一个奇怪的错误,当表单加载时,其中一个框不会填充。如果我关闭表单并再次加载,则相反的框将不会加载。如果我关闭并重新加载第三次,那么它会加载第一个框而不是第二个框。重复广告。

首次加载:

First Textbox loads

第二次加载:

Second Textbox loads

代码应该在启动时填充两个Textbox。这个bug有什么来源?

$CFG->wwwroot   = 'http://subdomain.example.com/';
$CFG->dataroot  = '/home/usernmae/public_html/moodledata';
$CFG->admin     = 'admin';

1 个答案:

答案 0 :(得分:3)

这个答案来自Yow3Ek和任何人一样多。此代码运行测试时没有错误或以前的问题。谢谢你们,我今天学到了一些东西。它正在明确地开火。

Private Sub UserForm_Initialize()
    Dim i As Long

    For i = 1 To 4
        Me.ListBox1.AddItem "Item A - " & i
    Next i
    Me.ListBox1.ListIndex = 0

End Sub


Private Sub ListBox1_Change()

    Dim i As Long

    Me.ListBox2.Clear
    For i = 1 To 3
        ListBox2.AddItem "Item B - " & i
    Next i
    Me.ListBox2.ListIndex = 0


    Me.TextBox1.Value = Me.ListBox1.List(Me.ListBox1.ListIndex)
End Sub

Private Sub ListBox2_Change()
    If Me.ListBox2.ListIndex = -1 Then Exit Sub
    Me.TextBox2.Value = Me.ListBox2.List(Me.ListBox2.ListIndex)
End Sub