簡體   English   中英

Excel VBA文本框

[英]Excel VBA Text Boxes

我正在嘗試使用帶有兩個文本框的userform在excel VBA中創建一個計算器,我剛創建了numpad,當我點擊1時,它會在文本框1中輸入數字1,但是當我選擇文本框2和然后再次選擇數字1,它將在文本框1中輸入它,而不是我的光標所在的文本框2。 任何人都知道如何使用setFocus之類的東西或沿着這些行的任何東西在光標設置的任何文本框中輸入數字,謝謝。

Private Sub CmdBtn1_Click()
    txt_Num1.Value = txt_Num1.Value + "1"
End Sub

我正在尋找在單擊數字時輸入光標所在的任何文本框中的數字。

這是非常原始的,但它應該讓你開始朝着正確的方向。 這將是您的用戶表單中的代碼隱藏。

Dim currentTextBoxName As String

Private Sub CommandButton1_Click()
  Dim currentControl
  Set currentControl = Controls(currentTextBoxName)
  currentControl.Value = "1"
End Sub

Private Sub TextBox1_Enter()
  currentTextBoxName = "TextBox1"
End Sub

Private Sub TextBox2_Enter()
  currentTextBoxName = "TextBox2"
End Sub

這假定您的兩個文本框名為“TextBox1”和“TextBox2”。 顯然,有更好的方法(更加萬無一失)傳遞TextBox_Enter事件上文本框的名稱,但這顯示了基本前提。

顯然,您將為TextBox_Exit事件添加代碼,以確保在焦點離開TextBox后未在錯誤的文本框中輸入值。

學習在VBA IDE中編寫VBA代碼時,有助於使用代碼窗口頂部的下拉列表: 在此輸入圖像描述

通過這兩個下拉菜單,您可以訪問userform上的所有對象及其相關事件。 超級有用且經常被忽視的工具。

暫無
暫無

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

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