在vba中,如何用系统自带的功能函数 快速将一个1行n列的数组 转置为n行1列的数组? 100
现在有一个1行100000列的数组变量,想把它存到range(“A1:A10000"),该怎么做?用Application.Transpose函数报错,只要列数超了256...
现在有一个1行100000列的数组变量,想把它存到range(“A1:A10000"),该怎么做?
用Application.Transpose函数报错,只要列数超了256就不能用了。
不要自己写循环,有什么简便快捷的方法吗?
Sub RowCnt()
Dim Arr Open "D:\test.txt" For Input As #1
Arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf) Close #1
'MsgBox UBound(Arr) 'Range("A1").Resize(UBound(Arr) + 1, 1) = Application.Transpose(Application.Index(Arr, 1, )) Range("A1").Resize(UBound(Arr) + 1, 1) = Application.Transpose(Arr) Reset MsgBox LBound(Arr) & Chr(13) & UBound(Arr) End Sub
上面是源代码,如果 "D:\test.txt"文件只有4行,执行没有问题。换成10w行,就报错了: 展开
用Application.Transpose函数报错,只要列数超了256就不能用了。
不要自己写循环,有什么简便快捷的方法吗?
Sub RowCnt()
Dim Arr Open "D:\test.txt" For Input As #1
Arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf) Close #1
'MsgBox UBound(Arr) 'Range("A1").Resize(UBound(Arr) + 1, 1) = Application.Transpose(Application.Index(Arr, 1, )) Range("A1").Resize(UBound(Arr) + 1, 1) = Application.Transpose(Arr) Reset MsgBox LBound(Arr) & Chr(13) & UBound(Arr) End Sub
上面是源代码,如果 "D:\test.txt"文件只有4行,执行没有问题。换成10w行,就报错了: 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询