获取Excel ComboBox VBA的用户input值
我有一个Excel中的combobox,填充了来自数据库的值。 有2列与第二列绑定并链接到一个单元格。
我希望用户能够input自己的价值。
如果用户从列表中select一个项目,一切都很好。 我得到链接的单元格中的值。
但是,如果用户input他们自己的数据,我会在链接的单元格中得到一个#N / A值。
有什么方法可以检索用户input的值吗?
提前致谢
奇怪的是文字或价值。 更新后您将不得不访问它们。 但是你可以看到input的内容,并以这种方式跟踪它。
声明一个全局variables来保存input内容。
Private strComboEntry As String
然后看看正在键入什么。
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Dim strKey As String strKey = Chr(KeyAscii) strComboEntry = strComboEntry & strKey End Sub
我们将不得不处理退格和删除。
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 8 Then strComboEntry = Left(strComboEntry, Len(strComboEntry) - 1) Exit Sub End If End Sub
编辑:OP说这个评论得到了他的答案。
看看ComboBox2.Text与ComboBox2.Value有一个区别。 不知道它是否会返回你正在寻找,但看看。 在VBA Access中使用.text和.value之间的区别