尝试自动完成ActiveX组合框时Excel崩溃

Roh*_*han 7 excel vba excel-vba

我在工作表上有一个ActiveX Combobox控件,这是_Change事件代码

Private Sub ComboBox1_Change()
  Me.ComboBox1.ListFillRange = "ItemSearch"
  Me.ComboBox1.DropDown
End Sub
Run Code Online (Sandbox Code Playgroud)

当我使用键盘上/下键在列表中移动时,它会自动退出Excel.

有谁知道这个问题的解决方案?我基本上想要一个动态的ComboBox.

R3u*_*3uK 5

当您更改所选选项时,您将强制更新组合框的可能值,
这就是它崩溃的原因。

您可以尝试继续参与Me.ComboBox1.DropDown该活动。

.ListFillRange应该在另一个事件中:

  • 工作簿_打开
  • 工作簿_SheetChange
  • Worksheet_SelectionChange
  • 工作表_更改

如果您尝试拥有一种自动完成行为,您可以使用内置属性

  1. 右键单击控件,单击属性
  2. 在打开的属性窗口中,找到MatchEntry属性
  3. 将其设置为0 - fmMatchEntryFirstLetter

  • @newguy:嗯,你正在尝试使用一种自动完成功能!并试图重新发明轮子!;) 将组合框的“MatchEntry property”设置为零“fmMatchEntryFirstLetter”,如果还不够,这里有一个详细的解决方案:https://www.extendoffice.com/documents/excel/2401-excel-drop- down-list-autocomplete.html#a1 (4认同)