Visual Basic应用程序在Excel中连续拆分文本

这里是我在Active X控件中使用文本框和button的分割文本示例输出。 正如你在这里看到的“Hello World!” 被input到文本框中,输出被分割成文本。

但是我想要的是每次我在文本框上input一些数据,它连续地给出分割文本,换句话说,单元格保存我在文本框上input的历史数据。

因为它只是给文本分割的文本,但没有保持它在文本框中input新的数据。 我希望这个输出,因为我将使用所有的历史拆分文本,并在计数最多的事件之后进行计数,我将为我的项目制作一个描述性图表

这是我的代码:

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 

sampleoutput1

样本输出2

你可以做这个没有循环

编辑:更新后追加到列的结尾

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