【问题标题】:Is it possible to enter text into an excel userform from a commandbutton on the same userform?是否可以从同一用户窗体上的命令按钮将文本输入到 Excel 用户窗体中?
【发布时间】:2017-02-20 16:49:12
【问题描述】:

我试图让一个 excel 用户表单看起来更像一个独立的应用程序而不是用户表单。我宁愿编写一个应用程序,但由于公司的 IT 规则,这不是一个选项。

见图片。是否可以使用附带键盘上的命令按钮将数据输入到表单上的活动文本框中?

用户窗体的图像:

表单尚未编码。

谢谢

【问题讨论】:

  • 您可以在输入时为它们分配一个变量,例如 set tb=me.textbox1,然后在 cmdButton9 的点击事件中为 tb.value=tb.value & cmdButton9.caption。通过事件接收创建自定义按钮将是一种更简洁的方法。
  • 我不确定我是否理解在用户表单上使用“键盘按钮”输入数字与使其“表现得更像一个独立的应用程序”有什么关系。作为一个用户,这会让我彻底发疯——10 键比屏幕键盘更容易使用方式。为什么不将文本框中的输入限制为数字?
  • 键盘按钮的原因是这将在安卓平板电脑上。这是今天存在的文件的链接。 drive.google.com/file/d/0Bwdj1JR-uqVrR0NxSnpRemNURUk/…我实际上正在研究两种不同的方法。一个完全带有用户表单,另一个带有用户表单,它只是一个键盘,在“输入”表上输入数据,然后通过 vba 将这些条目传输到“投影”表。
  • 出于好奇,您如何在 Android 平板电脑上运行 VBA 代码? VBA 需要一套相当完整的 COM 服务,这些服务只能通过操作系统获得。

标签: vba excel


【解决方案1】:

取决于你想做什么。实际上,一旦您单击按钮在按钮上输入数据,文本框将不再处于活动状态。无论如何,如果您不需要activetextbox,而是另一个,您可以使用以下代码:

假设您有一个按钮btnOpenFile 和一个标签lblInformation。 您希望在单击按钮后在lblInformation 中获得“ALE ALE”。

实现这一点的最简单的代码可能是这个:

Private Sub btnOpenFile_Click()

    me.lblInformation = "ALE ALE"

End Sub

把它放在用户窗体中。

【讨论】:

    【解决方案2】:

    这样的东西来支持我的评论

    Private tb As MSForms.TextBox
    
    Private Sub CommandButton1_Click()
        tb.Value = tb.Value & CommandButton1.Caption
    End Sub
    
    Private Sub CommandButton2_Click()
        tb.Value = tb.Value & CommandButton2.Caption
    End Sub
    
    Private Sub CommandButton3_Click()
        tb.Value = tb.Value & CommandButton3.Caption
    End Sub
    
    Private Sub CommandButton4_Click()
        tb.Value = tb.Value & CommandButton4.Caption
    End Sub
    
    Private Sub TextBox1_Enter()
        Set tb = Me.TextBox1
    End Sub
    
    Private Sub TextBox2_Enter()
        Set tb = Me.TextBox2
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 2021-12-05
      • 1970-01-01
      相关资源
      最近更新 更多