繁体   English   中英

Excel VBA错误溢出

[英]Excel VBA error overflow

我有一个程序可以解决3D包装问题。 当我只用100行数据运行该程序时,我的代码可以工作,但是当我使用所有数据时,出现错误:

运行时错误“ 6”:

溢出

图片版本

这是我的代码:

If rotationtype = 2 Then
    Do While Worksheets(6).Cells(xrow, xcolumn).Value <> ""
        ' 0,1 > inputan
        If Worksheets(6).Cells(xrow, xcolumn).Offset(0, 1).Value > Worksheets(6).Cells(xrow, xcolumn).Value Then
            Worksheets(6).Cells(xrow, xcolumn).Offset(0, 3).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 1).Value
            Worksheets(6).Cells(xrow, xcolumn).Offset(0, 4).Value = Worksheets(6).Cells(xrow, xcolumn).Value
            Worksheets(6).Cells(xrow, xcolumn).Offset(0, 5).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 2).Value
        Else ' 0,1 < inputan
            Worksheets(6).Cells(xrow, xcolumn).Offset(0, 3).Value = Worksheets(6).Cells(xrow, xcolumn).Value
            Worksheets(6).Cells(xrow, xcolumn).Offset(0, 4).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 1).Value
            Worksheets(6).Cells(xrow, xcolumn).Offset(0, 5).Value = Worksheets(6).Cells(xrow, xcolumn).Offset(0, 2).Value
        End If
        xrow = xrow + 1
    Loop
    Toplamkutusayisi = xrow - 2
    xrow = 2
Else

我有49606行数据:

如何避免出现此错误?

您是否声明了变量? Soudns就像xrow的整数溢出一样。

只需添加

Dim xrow as long

在您的程序开始时。

从错误中,我认为问题出在Worksheets(6)部分中。

您有7个工作表吗? 请记住:从0开始计数! 不等于1!

在这种情况下,请将索引更改为7而不是6:

 Worksheets(7).Cells(xrow, xcolumn).Value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM