返回信息流用Excel编程处理一组数据,错误显示溢出,只有n=1时没错误,或者把m改小。感觉不像是定义数据类型的问题,请大神看看怎么回事,谢谢!!!
Sub Macro1()
'
' Macro1 Macro
Dim n, m, a, i, j, p, R11, R22, R12re, R12im As Variant
n = 10
m = 16290
a = 16290
R11 = 0
p = 12
For i = 0 To n - 1
For j = 1 To m
R11 = Cells(j + i * a + 2, 8) + R11
R22 = Cells(j + i * a + 2, 9) + R22
R12re = Cells(j + i * a + 2, 10) + R12re
R12im = Cells(j + i * a + 2, 11) + R12im
Next j
Ecc = (R12re ^ 2 + R12im ^ 2) / R11 / R22
ActiveSheet.Cells(p, 12).Value = Ecc
p = p + 1
R11 = 0
R22 = 0
R12re = 0
R12im = 0
Ecc = 0
Next i
End Sub
这是一条镜像帖。来源:北邮人论坛 / office-tool / #32767同步于 2015/8/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
OfficeTool机器人发帖
Excel VB 编程溢出问题
diaoyiheng
2015/8/31镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
【 在 dxlz 的大作中提到: 】
: 而且应当是Cells(j + i * a + 2, 8).value不是只有Cells(j + i * a + 2, 8)吧?
把数据给你看一下
附件(1.1MB) ECC.xlsx
Cells(a,b)表示的是a行b列, Cells(a,b).value表示的是单元格的值.你的Marcro中,列都是8,9,10或11,都没有值啊.而且a那么大,乘完了之后行数那么大,也是空格啊。。没弄明白这个macro要干啥
【 在 dxlz 的大作中提到: 】
: Cells(a,b)表示的是a行b列, Cells(a,b).value表示的是单元格的值.你的Marcro中,列都是8,9,10或11,都没有值啊.而且a那么大,乘完了之后行数那么大,也是空格啊。。没弄明白这个macro要干啥
明白。这四列在8.9.10.11,前七列还有一堆数据,数据太大论坛传不上去。
n>1时,i=2时,i*a大于16290,Cells(j + i * a +2,8)单元格里为空,后面做除法分母为0,就溢出了。不知道这个程序是要实现什么功能?