设置Listindex后,Excel Listbox不一致没有值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置Listindex后,Excel Listbox不一致没有值相关的知识,希望对你有一定的参考价值。
我有一个简单的UserForm,其中包含两个Listbox和两个Textbox,其中包含当前所选Listitem的值。我有一个奇怪的错误,当表单加载时,其中一个框不会填充。如果我关闭表单并再次加载,则相反的框将不会加载。如果我关闭并重新加载第三次,那么它会加载第一个框而不是第二个框。重复广告恶心。
首次加载:
第二次加载:
代码应该在启动时填充两个文本框。这个bug有什么来源?
Private Sub UserForm_Initialize()
Dim i As Long
For i = 1 To 4
ListBox1.AddItem "Item A - " & i
Next i
ListBox1.ListIndex = 0
End Sub
Private Sub ListBox1_Change()
Dim i As Long
ListBox2.Clear
For i = 1 To 3
ListBox2.AddItem "Item B - " & i
Next i
ListBox2.ListIndex = 0
TextBox1.Value = ListBox1.Value
End Sub
Private Sub ListBox2_Change()
TextBox2.Value = ListBox2.Value
End Sub
答案
这个答案来自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
以上是关于设置Listindex后,Excel Listbox不一致没有值的主要内容,如果未能解决你的问题,请参考以下文章