0
我在Excel中有兩列有相應的項目。我的程序需要檢查textbox3的值,如果該值存在(不區分大小寫)在第一列,那麼textbox4將採取相應的值。所以基本上,用戶在文本框3中鍵入一個項目的名稱並按下回車鍵(鍵,而不是按鈕)。如果它存在,那麼textbox4將採取相應的值。當輸入按下時,文本框激活代碼
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Dim i As Integer
Dim abrv As String
abrv = TextBox3.Text
Sheet2.Activate
For i = 1 To 2494
If abrv = Range("a" & i).Value Then
TextBox4.Text = Range("b" & i).Value
End If
Next i
If TextBox4.Text = "" Then
TextBox4.Text = "Abbreviation does not exist."
End If
End If
End Sub
當我點擊輸入後在用戶窗體中輸入n放棄光標移動到下一個文本框,而不是檢索相應的值。另外,sheet2.activate不會讓範圍查看錶單2嗎?只是好奇,我不知道它是如何工作的。 – user3487972
您可以使用類似TextBox1.SetFocus的內容將焦點返回到前一個文本框。 Sheet2.activate僅將焦點轉換爲sheet2。 – Pedrumj
謝謝,您發佈的第一套代碼完美無瑕!我忘了將textbox1_keydown更改爲textbox3_keydown – user3487972