首页 > 解决方案 > 在动态文本框中添加属性

问题描述

我有两个用户窗体,Form1 和 Form2。在Form1中,用户将在Form2中输入他们需要多少个动态文本框。动态文本框中的用户输入应该正好是 2 个字符,不小于也不大于。

我的问题是

  1. 如何创建显示用户输入小于 2 的提示?我设法设置了最大限制属性,但如果输入值只有 1 个字符,它仍然可以接受。
  2. 如何创建一个提示,检查 Form1 中输入的最后一个字母是否与动态文本框中输入的第一个字母相同?

示例说明:

Form1 User Input: BA               Form2 Dynamic Textbox: AD
                                                          AE
                                                          AF
                                                          AG
  1. 如何将动态文本框中自动输入的字母大写?我尝试了 Ucase 但没有奏效。

这是我的动态文本框脚本。

Private Sub Form2_Initialize()

textbox_count = Form1.txtbox_count.Value

Dim txtB1 As Control

For i = 1 To textbox_count
    Set txtB1 = Controls.Add("Forms.TextBox.1")
    
    With txtB1
    .Name = "txtBox" & i
    .Height = 20
    .Width = 90
    .Left = 80
    .Top = 25 * i * 1
    End With
    
txtB1.MaxLength = 2
Next i

End Sub

标签: excelvba

解决方案


对于 3 号:

Private Sub TextBox1_Change()

    Dim bDisableUpdate As Boolean

    If Not bDisableUpdate Then
        bDisableUpdate = True
        TextBox1.Text = UCase(TextBox1.Text)
        bDisableUpdate = False
    End If
    
End Sub

推荐阅读