Dim B() As Double
ReDim B(m - 1, 3)
Dim A() As String
ReDim A(m, 4) As String
A = Split(Text1.Text, Chr(13) & Chr(10))
'这步会自动重定义数组大小
For i = 0 To (m - 2)
'在这里下断点,检查A数组的大小
For j = 0 To 2
B(i, j) = CDbl(A(i + 1, j + 1))
'split 后得到的是维数组,给二个下标会报错
Next j
Next i
----------------------------------------------
Dim B() As Double
Dim A() As String
j = Len(Text1.Text)
'取原长度
Do
i = j
'保存原长度
If Right(Text1.Text, 2) = vbCrLf Then
'如果最后有一回车换行符
Text1.Text = Left(Text1.Text, i - 2)
'干掉回车换行符
End If
j = Len(Text1.Text)
'取新长度
Loop While i <> j
'如果新长度不等于原长度,说明干掉了一个空行,继续循环,是否还有空行
A = Split(Text1.Text, Chr(13) & Chr(10))
'分解到数组A中,会自动重定义数组大小,只能得到一维数组
redim b(ubound(a)-2)
'不要第一个和第二个,那就要少二个元素,使用UBOUND取数组最大下标。
'因为是0开始的,所以起始下标不用取。如果不能确定那也要取
For i = 1 To UBound(A) - 1
B(i - 1) = CDbl(A(i))
Next i
------------
表示没看出来你的二维数组是怎么来,怎么转换结果。
[此贴子已经被作者于2018-10-7 21:19编辑过]