首页 > 解决方案 > 如何从文本框输入填充用户表单列表框/组合框数组/列表?

问题描述

我试图允许用户在文本框中输入数据并将该数据添加到组合框数组中,我怎样才能将其保存到代码中?

在此处输入图像描述

我有一些代码可以填充该会话的数据,但在我关闭应用程序后它就消失了。

Private Sub CommandButton1_Click()
   If TextBox1.TextLength > 0 Then
      UserForm1.ComboBox2.AddItem TextBox1.Value
      TextBox1.Value = ""
   Else
      Exit Sub
   End If
End Sub

Private Sub UserForm_Initialize()
   With ComboBox2
      .AddItem ".020"
      .AddItem ".030"
      .AddItem ".032"
      .AddItem ".040"
   End With
End Sub

我需要用户能够在那里输入数据并将其放在组合框中供其他人使用。任何帮助,将不胜感激!甚至可以为我指明正确方向的搜索词。

标签: vbams-word

解决方案


做这样的事情。在您的工作簿中有一张名为“数据”的工作表。当用户使用 commandbutton1 添加内容时,它会转到数据表中的 A 列,并将用户值放在下一个可用行中。

当您加载另一个表单时,它将遍历 A 列并获取所有值并将它们添加到组合框中。

    Private Sub CommandButton1_Click()
        Dim lastrow As Long: lastrow = Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Row + 1

       If TextBox1.TextLength > 0 Then
          Sheets("Data").Cells(lastrow, 1).Value = TextBox1.Value
          TextBox1.Value = ""
       Else
       MsgBox "Please enter a value"
          Exit Sub
       End If
    End Sub


    Private Sub UserForm_Initialize()

    For i = 1 To Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Row
        ComboBox2.AddItem Sheets("Data").Cells(i, 1).Value
    Next

    End Sub

推荐阅读