繁体   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