黄色界面条出现的时候,鼠标放在各变量下检查各自的值,然后用计算器或者口算一下计算过程,溢出错误的原因是结算的结果超过范围,建议检查代码里面作为除数的Rz、ls等变量值,如果他们等于(或者接近)0,计算机就没办法计算,...
估计你调试过程中切换过工作表。试试看:Sub找出连续长度的字符串()DimstrAsStringDimsubstrAsStringDimtAsIntegerDimM&,h,j&,k&DimmaxRowAsLongDimArr()AsStringWithSheet1...
的数只能到32768,下面这里修改:我验证的小代码:
上,当n>90后,分母值大于整型最大值32767,所以溢出。因为计算中间值是按所含变量的数据类型存贮。解决的办法有二:一是将n定义为长整型;二是将分母改为两个:即将……/((2n+1)(2n))改为……/(2n...
声明变量类型不正确!DimyAsLong,WAsLong特别是Range.Row的属性是Long型的。从Excel2003版本开始,每个工作表最大行号为65536;Excel2007版本以后每个工作表最大行号达到了1048576。都已经超过了...
另外,大量循环应该考虑将表格读入数组,用数组参与循环,提高速度。比如使用语句:A1=Worksheets("样本1").usedrange则生成A1数组,A1(i,1)就相当于cells(i,1)另外可以学习VBA的字典法,进一步提高匹配速度...
改成这样:Sub双倍余额递减法()Dimyz,nx,cz,zj,zjhSheets("固定资产折旧处理系统").Selectyz=Cells(3,2)nx=Cells(4,2)cz=Cells(5,2)Fori=1Tonxifi<nx-1thenCells(5+i,...
你现在的n最大不能超过32767,所以如果你的B列连续数据超过这个数量,那会回出问题建议吧n改成long型的变量
DimRo1&,Co%,I%,RaAsRange改成DimRo1&,Co%,I&,RaAsRangei由整型改为长整型,另外excel最大行数好像是65536吧,i如果超过65536,后面Range("B"&I)也会出错。
将变量a和b声明为longinteger整数宽度不够用了