这是我在Active X Control中使用文本框和按钮分割文本的示例输出。正如你在这里看到的“Hello World!”在文本框中输入,输出是分割文本。
但我想要的是每当我在文本框中输入一些数据时,它会连续地提供分割文本,换句话说,单元格会保留我在文本框中输入的历史数据。
因为它只是提供分割文本,但在文本框中输入新数据时不保留它。我想要这个输出,因为我将使用所有历史分割文本并在计算最多次数后计算它我将为我的项目制作描述性图形
这是我的代码:
Sub SplitText()
Dim TextString As String, WArray() As String, Counter As Integer, Strg As String
TextString = TextBox1
WArray() = Split(TextString, " ")
For Counter = LBound(WArray) To UBound(WArray)
Strg = WArray(Counter)
Cells(Counter + 2, 1).Value = Trim(Strg)
Next Counter
End Sub
答案 0 :(得分:1)
Sub SplitText()
Dim TextString As String, WArray() As String, Counter As Integer, Strg As String
TextString = TextBox1
WArray() = Split(TextString, " ")
For Counter = LBound(WArray) To UBound(WArray)
Strg = WArray(Counter)
Cells(Counter + 2, 1).Value = Trim(Strg)
Next Counter
Sheets("Original values").Range("A" & Sheets("Original values").Rows.Count).End(xlUp).Offset(1).Value = TextString
End Sub
答案 1 :(得分:1)
您可以在不循环的情况下执行此操作
编辑: 已更新,可附加到列的末尾
Sub SplitText()
Dim WArray As Variant
WArray = Split(TextBox1, " ")
With Sheets("DatabaseStorage")
.Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(UBound(WArray) + IIf(LBound(WArray) = 0, 1, 0)) = Application.Transpose(WArray)
End With
End Sub