我有这个代码,它在Sheet1上填充一个组合框,并在Sheet2上填充Table1的Name列。
Public Sub Worksheet_Activate()
Me.ComboBox1.List = Worksheets("Sheet2").ListObjects("Table1")_
.ListColumns("Name").DataBodyRange.Value
End Sub
工作正常,但是当我将组合框单击到工作表上时,它会产生奇怪的效果。框中的所选条目快速闪烁到上一个条目。例如,当前选择的项目是" b"然后我选择" c"。如果我点击工作表,框中的条目会快速闪烁到" b"在回到" c"之前。
我已将此代码单独放入新文件中,我仍然可以获得相同的效果。有没有人见过这个?
编辑Public Sub的原因:
忘记包含Workbook_Open
代码,以便在打开工作簿时将Sheet1视为已激活。但是如果我保留这些代码并不重要,我仍然会看到效果。
Private Sub Workbook_Open()
Call ActiveSheet.Worksheet_Activate
End Sub
答案 0 :(得分:0)
使用在工作表上选择一个单元格的代码添加一个LostFocus
事件,当更改ComboBox的值后选择一个单元格时,应该不会导致闪烁。
类似以下内容:
Private Sub ComboBox1_LostFocus()
ActiveSheet.Range("A1").select
End Sub