【问题标题】:Excel VBA Text BoxesExcel VBA 文本框
【发布时间】:2019-09-13 03:15:06
【问题描述】:

我正在尝试使用带有两个文本框的用户窗体在 excel VBA 中创建一个计算器,我刚刚创建了小键盘,例如,当我单击 1 时,它将在文本框 1 中输入数字 1,但是当我选择文本时框二,然后再次选择数字 1,它将在文本框 1 中输入,而不是光标所在的文本框 2。任何人都知道我如何使用 setFocus 之类的东西或任何类似的东西在光标所在的任何文本框中输入数字,谢谢。

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

我正在寻找要输入到单击数字时光标所在的文本框中的数字。

【问题讨论】:

  • 也许使用一对单选按钮来选择文本框?

标签: excel vba


【解决方案1】:

这是非常原始的,但它应该能让你朝着正确的方向开始。这将是您的用户表单中的代码隐藏。

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 代码时,使用代码窗口顶部的下拉菜单会有所帮助:

这两个下拉菜单使您可以访问用户窗体上的所有对象及其相关事件。超级有用但经常被忽视的工具。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-10
    • 2018-02-18
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    相关资源
    最近更新 更多