希望这不是一篇重复的帖子,但我一直无法找到问题的答案。下面的代码是我目前正在运行的代码,但我正在尝试优化最后一位,它将包含100000行数据的1D数组myArray
打印到名为shHidden
的表上。
其目的是使用数组来解析字符串,方法是拆分字符串,解析数组中的元素,然后将它们放入第二个数组中。从那里,第二个阵列将被打印到两个位置;1( 另一个字符串通过Join((和2(一个工作表。
SplitTextBox1 = Split(shInterface.txt_Input, Chr(10))
j = 0
For i = 0 To UBound(SplitTextBox1)
j = j + 1
ReDim Preserve MyArray(j)
MyArray(j) = SplitTextBox1(i)
Next i
shInterface.txt_Output = Join(MyArray)
这就是我正在挣扎的地方。我想将myArray
打印到shHidden
,以便将其保存为。CSV之后,但shHidden.Range("A1") .Resize(j) = myArray
的每个变体只是将myArray
的第一个元素打印到shHidden的每个单元。
这就是我目前所做的,
For i = 1 To UBound(MyArray)
shHidden.Range("A" & i) = MyArray(i)
Next i
与相反
shHidden.Range("B1").Resize(i) = MyArray
我已经尝试过Transposing
数组,但它没有发送100%的数组。
我做错了什么?
未测试但应接近:
Dim arr, i As Long, SplitTextBox1
SplitTextBox1 = Split(shInterface.txt_Input, Chr(10))
ReDim arr(1 To UBound(SplitTextBox1) + 1, 1 To 1)
For i = 0 To UBound(SplitTextBox1)
arr(i + 1, 1) = SplitTextBox1(i)
Next i
shInterface.txt_Output = Join(SplitTextBox1)
shHidden.Range("A1").Resize(UBound(arr, 1), 1).Value = arr