代码如下:
Sub test()
Dim arr, brr(), x%, i%, crr, y%, k%, n%
With Sheet1
arr = Range("A1:C" & Range("A65536").End(xlUp).Row)
ReDim brr(1 To 3, 0 To 1)
For x = 2 To UBound(arr)
crr = Split(arr(x, 3), "、")
For y = 0 To UBound(crr)
krr = Split(crr(y), "-")
j = krr(0): k = krr(UBound(krr))
For n = j To k
i = i + 1
ReDim Preserve brr(1 To 3, 0 To i)
brr(1, i) = arr(x, 1)
brr(2, i) = arr(x, 2)
brr(3, i) = n
Next n
Next y
Next x
For x = 1 To UBound(arr, 2)
brr(x, 0) = arr(1, x)
Next x
Range("F1").Resize(UBound(brr, 2) + 1, UBound(brr)) = Application.Transpose(brr)
Erase arr, brr, crr
End With
End Sub
vba在excel运行时错误‘6’溢出
答案:2 悬赏:10 手机版
解决时间 2021-04-06 18:39
- 提问者网友:抽煙菂渘情少年
- 2021-04-05 18:28
最佳答案
- 五星知识达人网友:长青诗
- 2021-04-05 19:14
是不是 一个2003版本一个更高级别的版本的2003只有 255列 65536 行 其他版本 都比较多如果宏超过这个数量就会出错
全部回答
- 1楼网友:鸽屿
- 2021-04-05 19:22
dim str as integer
dim i as integer
你将str 和i 都定义为整数,它的取值范围是:-32768 ~ 32767,所以出错。你可
dim str as long
dim i as long
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯