簡體   English   中英

獲取Excel ComboBox VBA的用戶輸入值

[英]Get user input value of Excel ComboBox VBA

我在Excel中有一個組合框,其中裝有來自數據庫的值。 有第2列綁定並鏈接到單元格的2列。

我希望用戶能夠輸入自己的價值。

如果用戶從列表中選擇一項,則一切正常。 我在鏈接的單元格中獲得了價值。

但是,如果用戶輸入自己的數據,我將在鏈接的單元格中獲得#N / A值。

有什么方法可以檢索用戶輸入的值?

提前致謝

奇怪的是文字或值。 更新后,您將必須訪問它們。 但是您可以觀察輸入的內容並以這種方式進行跟蹤。

聲明一個全局變量以保存輸入的內容。

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的區別

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM