|
- Sub 竖C() '--竖向输出1
- '
- Dim data, arr(), I As Integer, J As Integer, k As Single
- '指定Sheets("C")页面
- data = Sheets("C").Range("B2:CKU2475").Value '--指定区域
- ReDim arr(1 To 16370)
- For I = 1 To UBound(data)
- For J = 1 To UBound(data, 2)
- If data(I, J) <> "" Then
- k = k + 1
- arr(k) = data(I, J)
- End If
- Next
- Next
- Range("A2").Resize(k, 1) = Application.Transpose(arr) '--竖向输出
- End Sub
复制代码 上面代码:是数据转竖向输出
ReDim arr(1 To 16370) 中16370改大于10万就出错误13
有时内存溢出
运行内存是32GB
求大佬帮忙改下,想要数组最大支持值,能达到行值100万个数据
代码更改如下:
- Sub 竖C() '--竖向输出1
- Dim data, arr(), I As Long, J As Long, k As Long
- '指定Sheets("C")页面
- data = Sheets("C").Range("B2:CKU2475").Value '--指定区域
- ReDim arr(1 To 200000, 1 To 1)
- For I = 1 To UBound(data)
- For J = 1 To UBound(data, 2)
- If data(I, J) <> "" Then
- k = k + 1
- arr(k, 1) = data(I, J)
- End If
- Next
- Next
- Range("A2").Resize(k, 1) = arr
- End Sub
复制代码
|
|